Google-ը թողարկել է Chrome 147 վեբ զննարկիչը։ Միևնույն ժամանակ, հասանելի է Chrome-ի հիմքը հանդիսացող անվճար Chromium նախագծի կայուն թողարկումը։ 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 հասցեներ Տեղական ցանցը (ներցանցային կամ ներքին հասցեներ) կամ loopback ինտերֆեյսը (127.0.0.0/8) կպահանջի օգտատիրոջ հաստատում: Պաշտպանությունն այժմ ներառում է ոչ միայն HTTP/HTTPS-ի, fetch() հարցումների և iframe ներմուծումների միջոցով ռեսուրսներ բեռնելու փորձերը, այլև WebSockets-ի և WebTransport-ի միջոցով միացումները, ինչպես նաև WindowClient.navigate() մեթոդով նախաձեռնված fetch հարցումները: Հարձակվողները օգտագործում են ներքին ռեսուրսների հասանելիությունը անուղղակիորեն նույնականացնելու և CSRF հարձակումներ իրականացնելու ռաութերների, մուտքի կետերի, տպիչների, կորպորատիվ վեբ ինտերֆեյսների և այլ սարքերի ու ծառայությունների վրա, որոնք ընդունում են միայն տեղային ցանցից ստացված հարցումներ:
- XML վերլուծության ֆունկցիոնալությունը libxml2-ից տեղափոխվել է Rust-ով գրված նոր գրադարան՝ անվտանգության նկատառումներից ելնելով։ Այս փոփոխությունը վերաբերում է միայն XML-ին. ինչպես նախկինում հայտարարվել էր, XSLT աջակցությունը շուտով կդադարեցվի։
- Այժմ հնարավոր է օգտագործել startViewTransition() մեթոդը ոչ միայն ամբողջ էջի, այլև առանձին HTML տարրերի համար։
- Ավելացվել է contrast-color() CSS ֆունկցիան։ Այն վերադարձնում է նշված գույնի հակառակը (սպիտակի դեպքում վերադարձնում է սև, իսկ սևի դեպքում՝ սպիտակ)։ Այս ֆունկցիան կարող է օգտագործվել որոշակի տեքստի գույնի ֆոնի գույնը համապատասխանեցնելու համար և հակառակը։
- Ավելացվել է CSS-ի «border-shape» հատկությունը, որը թույլ է տալիս ստեղծել ոչ ուղղանկյուն եզրագծեր տարրերի շուրջ, օրինակ՝ շրջանաձև կամ բազմանկյուն եզրագծերի միջոցով: «border-shape» CSS հատկությունը ընդունում է նույն ձևերի տեսակները, ինչ «clip-path» հատկությունը, բայց ի տարբերություն վերջինիս, այն հայտնաբերում է ուրվագիծը, վերծանում այն և կտրում ցանկացած բովանդակություն, որը տարածվում է ուրվագծից այն կողմ:
- Ավելացվել է CSSPseudoElement ինտերֆեյսը, որը թույլ է տալիս աշխատել JavaScript-ի CSS կեղծ-տարրերի հետ։
- Հղման տարրն այժմ աջակցում է «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-ում օգտագործվող ատրիբուտների անունները և իմաստաբանությունը համապատասխանում են Ինտերնետային տպագրության արձանագրությանը (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 պարգևների չափը դեռևս որոշված չէ:
Source: opennet.ru
