Google го издаде веб-прелистувачот Chrome 147. Во исто време, достапно е стабилно издание на бесплатниот проект Chromium, кој е основа на Chrome. Прелистувачот Chrome се разликува од Chromium по тоа што користи логоа на Google, има систем за испраќање известувања во случај на пад, има модули за репродукција на видео содржина заштитена од копирање (DRM), има систем за автоматска инсталација на ажурирања, секогаш овозможува изолација на Sandbox, испорачува клучеви за Google API и пренесува RLZ параметри при пребарување. За оние на кои им треба повеќе време за ажурирање, постои посебна проширена стабилна гранка, која е поддржана 8 недели. Следното издание, Chrome 148, е закажано за 5 мај.
Клучни промени во Chrome 147 (1, 2, 3, 4):
- Додаден е вертикален режим на прикажување на табулатори, со што горната хоризонтална лента со копчиња за табулатори е заменета со странична лента со вертикални табулатори. Вертикалните табулатори можат да се прикажуваат во проширени (икона + делумен опис) или склопени (само икона) режими. Поместувањето на курсорот над страничниот табулатор прикажува минијатура од неговата содржина. Управувањето со групите табулатори е поедноставено. Во контекстното мени што се појавува кога ќе кликнете со десното копче на редот со табулатори е додадена опција „Прикажи табулатори вертикално“. Ако оваа опција не се прикажува по дифолт, може да се овозможи преку поставката „chrome://flags/#vertical-tabs“.
- Режимот на читање е редизајниран за да го прикажува само релевантниот текст на страницата, криејќи ги сите поврзани контроли, банери, менија, ленти за навигација и други делови од страницата што не се поврзани со содржината. Во новата верзија, слично на Firefox, релевантната содржина се прикажува во целата видлива област, наместо во тесна странична лента до оригиналната страница. Ако новиот режим не е овозможен по дифолт, може да се овозможи преку поставката „chrome://flags/#read-anything-immersive-reading-mode“.
- Во менито „Помош“ е додадено копче за поднесување жалба за блокирање на веб-страници креирани за измама или фишинг. Ова копче се прикажува кога е овозможен режимот „Безбедно прелистување“.
- Проширена заштита од пристап до локалниот систем при интеракција со јавни веб-страници. Пристап од веб-страници до Мојата IP адреса Локалната мрежа (интранет или внатрешни адреси) или интерфејсот за повратна врска (127.0.0.0/8) ќе бара потврда од корисникот. Заштитата сега ги покрива не само обидите за вчитување ресурси преку HTTP/HTTPS, барања за fetch() и вметнувања на iframe, туку и врските преку WebSockets и WebTransport, како и барањата за fetch иницирани преку методот WindowClient.navigate(). Напаѓачите го користат внатрешниот пристап до ресурси за индиректна идентификација и за извршување CSRF напади врз рутери, пристапни точки, печатачи, корпоративни веб-интерфејси и други уреди и услуги што прифаќаат само барања од локалната мрежа.
- Функционалноста за парсирање на XML е мигрирана од libxml2 во нова библиотека напишана во Rust имајќи ја предвид безбедноста. Оваа промена се однесува само на XML; како што беше претходно најавено, поддршката за XSLT наскоро ќе биде застарена.
- Сега е можно да се користи методот startViewTransition() не само за целата страница, туку и за поединечни HTML елементи.
- Додадена е CSS функцијата contrast-color(). Таа враќа спротивно од наведената боја (за бела, враќа црна, а за црна, враќа бела). Оваа функција може да се користи за да се совпадне бојата на позадината на одредена боја на текст и обратно.
- Додадено е CSS својството „border-shape“, кое ви овозможува да креирате неправоаголни граници околу елементите, како на пример користење кружни или полигонални граници. CSS својството „border-shape“ ги прифаќа истите типови облици како својството „clip-path“, но за разлика од второто, тоа детектира контура, ја декодира и ја сече секоја содржина што се протега надвор од контурата.
- Додаден е интерфејсот CSSPseudoElement, кој овозможува работа со CSS псевдо-елементи од JavaScript.
- Елементот link сега поддржува употреба на атрибутот „rel=modulepreload“ за претходно вчитување не само на скрипти, туку и на модули со CSS стилови ( ) и JSON податоци ( ).
- Однесувањето на пресметување на ширината на границите и контурите во CSS својствата border-width, outline-width и column-rule-width е променето, со што се обединува со прелистувачите базирани на Firefox и WebKit. Претходно, ширината во овие својства се ресетираше на нула, без оглед на нивните вредности, ако својствата border-style, outline-style или column-rule-style беа поставени на „none“ или „hidden“. Сега, вредностите order-width, outline-width и column-rule-width секогаш одговараат на вредностите дефинирани од развивачот, без оглед на содржината на својствата „*-style“.
- Додаден е методот Math.sumPrecise() за пресметување на збирот на елементите на низата и други бројни објекти со прецизност поголема од онаа на нормалното сумирање во јамка (елиминирање на прецизните загуби при складирање на резултатите помеѓу).
- Додаден е атрибутот Request.isReloadNavigation за откривање кога страницата е повторно вчитана, на пример, по кликнување на копчето „Освежи“ или повикување на методите location.reload() и history.go(0).
- За да се намали точноста на индиректната идентификација, логиката за заокружување на големината на меморијата вратена преку Device Memory API, која дава информации за големината на RAM меморијата, е променета. Овие информации можат да бидат корисни за креирање лесни верзии на веб-апликации што се вчитуваат на уреди со ограничена RAM меморија или за активирање на напредни функции кога се достапни големи количини на меморија. Во градби за платформата. Android Големината на меморијата сега е заокружена на 1, 2, 4 и 8, а за другите платформи на 2, 4, 8, 16 и 32.
- За изолирани веб-апликации (IWA), имплементиран е Web Printing API, кој обезбедува методи за одредување на достапноста на печатачи, испраќање документи за печатење и управување со редот за печатење. Имињата на атрибутите и семантиката што се користат во API-то одговараат на Internet Printing Protocol (IPP).
- Режимот „Origin trials“ го имплементира WebNN API-то, кое овозможува користење на услуги за машинско учење обезбедени од оперативниот систем и поврзаните хардверски можности.
- Направени се подобрувања кај алатките за веб-развивачи. Вградениот асистент за вештачка интелигенција сега автоматски избира контексти. Панелот „Режим на уред“, кој се користи за тестирање на перформансите на веб-страницата на различни мобилни уреди, е модернизиран. Панелот „Мрежа“ сега автоматски декодира компресирана содржина за барања испратени со заглавието Content-Encoding: gzip или deflate. Регуларните изрази сега може да се користат за филтрирање на CSS стилови.
Покрај новите функции и поправките на грешки, новата верзија опфаќа 60 ранливости. Многу од ранливостите беа идентификувани преку автоматско тестирање со користење на AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. На два проблеми (прелевање на баферот и прелевање на цел број во WebML) им беше доделено критично ниво на сериозност, што значи дека тие би можеле да ги заобиколат сите слоеви на заштита на прелистувачот и да извршат код надвор од sandbox-опкружувањето. Како дел од својата програма за награда за ранливости за тековното издание, Google воспостави 60 награди и додели 118 долари (две награди од 43000 долари, две награди од 11000 долари и по една награда од 4000, 3000, 2000 и 1000 долари). Износите на 52 награди сè уште не се утврдени.
Извор: opennet.ru
