Google esitles veebibrauseri Chrome 99. Samuti on saadaval stabiilne versioon avatud lähtekoodiga projektist Chromium, mis on Chrome'i alus. Brauser Chrome erineb logode kasutamise poolest, omab häirete teavitamise süsteemi süsteemi kokkuvarisemise korral, erinevaid mooduleid kaitstud videote (DRM) esitamiseks, automaatsete värskenduste süsteemi ja edastab otsingu käigus RLZ-parameetreid. Järgmine Chrome'i versioon, Chrome 100, on planeeritud 29. märtsiks.
Chrome 99 põhimuudatused:
- Chrome'i rakenduses Android on sisse lülitatud sertifikaadi läbipaistvuse mehhanism, mis tagab kõigi välja antud ja tühistatud sertifikaatide sõltumatu ja avaliku logi pidamise. Avalik logi võimaldab sõltumatut auditit kõikide muudatuste ja tegevuste kohta, mida teevad sertifitseerimiskeskused, ja võimaldab kohe jälgida kõiki katseid valeandmete varjamiseks. Sertifikaate, mis ei ole Certificate Transparency logis, lükatakse automaatselt tagasi brauseris, kuvatakse vastav viga. Varem oli see mehhanism sisse lülitatud ainult lauaversioonis ja väikesel protsendil Androidi kasutajatest.
- Suurte kaebuste tõttu on varem testrežiimis olnud Private Network Access mehhanism keelatud, mis oli suunatud kaitsma kohalike võrguressursside või kasutaja arvuti (localhost) ees rünnakute eest veebilehe avamise ajal laaditavate skriptide kaudu. Selliste rünnakute eest kaitsmiseks on soovitatud saata selge tõendamissoovitus, kui pöörduda mis tahes sisemiseks võrgu allikaks. Google vaatab rakenduse üle, võttes arvesse saadud tagasisidet, ja pakub ühes tulevases versioonis täiustatud varianti.
- Tagasi on toodud võimalus eemaldada vaikimisi soovitatavad otsingumootorid. Tuletame meelde, et alates Chrome 97-st on konfiguratsioonis jaotises 'Otsingumootorite haldamine' (chrome://settings/searchEngines) lõpetatud võimalus eemaldada elemente vaikimisi otsingumootorite loendist (Google, Bing, Yahoo) ja redigeerida otsingumootori parameetreid, mis on tekitanud paljude kasutajate rahulolematust.
- Windowsi platvormil on võimalik eemaldada iseseisvad veebirakendused (PWA, Progressive Web App) läbi süsteemi seadetest või juhtpaneel sarnaste nagu Windowsi rakenduste eemaldamisel.
- Viimased testimised toimuvad, et tuvastada võimalikke veebilehtede rikkeid, kui brauser saavutab versiooni, mis koosneb kolmest numbrist kahe asemel (varem, pärast Chrome 10 väljalaskmist, ilmes User-Agent’i parsimise teekides palju probleeme). Kui aktiveerida valik "chrome://flags#force-major-version-to-100", hakkab User-Agent väljastama versiooni 100.
- CSS-is on rakendatud kaskadikihtide toetust, mida määratletakse reegli @layer abil ja importitakse CSS-i reegli @import kaudu, kasutades funktsiooni layer(). CSS-i reeglid ühe kaskadikihtide sees kaskaadivad koos, lihtsustades kogu kaskaadi haldamist, pakkudes paindlikke võimalusi kihtide järjekorra muutmiseks ja võimaldades selget juhtimist CSS-failide üle, vältides konfliktide tekkimist. Kaskadikihti on mugav rakendada teemade määratlemiseks, määratledes elementide vaikevormid ja viies komponentide stiilid välistesse raamatukogudesse.
- HTMLInputElement klassile on lisatud meetod showPicker(), mis võimaldab kuvada valmis dialooge tüüpiliste väärtuste täitmiseks väljadega, mille tüübid on "date", "month", "week", "time", "datetime-local", "color" ja "file", samuti väljadele, mis toetavad automaatset täitmist (autofill) ja loendist valimist (datalist). Näiteks võib kuvatud liides olla kalendri kujul kuupäeva valimiseks või värvipaleti kuvamiseks.

- Origin Trials režiimis (eksperimenteerimisvõimalused, mis nõuavad eraldi aktiveerimist) on rakendatud võimalus sisse lülitada tumedat režiimi veebirakenduste jaoks. Tumedate teemade värvid ja taust valitakse uue väljade color_scheme_dark kaudu veebirakenduse manifestifailis. Origin Trial tähendab võimaluse olemasolu töötada nimetatud API-ga rakendustes, mis on laaditud localhost või 127.0.0.1, või pärast registreerimist ja spetsiaalse järelkontrolli tokeni saamist, millel on piiratud kehtivusaeg konkreetse saidi jaoks.
- Stabiliseeritud ja kõigile huvilistele pakutud Handwriting Recognition API, mis võimaldab kasutada operatsioonisüsteemi poolt pakutavaid käsitsi kirjutamise tuvastamise teenuseid.
- Erakordsetele veebirakendustele (PWA, Progressive Web App) on stabiliseeritud komponent Window Controls Overlay, mis laiendab rakenduse ekraani ala tervele aknale, sealhulgas pealkirja alale, millele kattuvad akna juhtimise nupud (sulgemine, vähendamine, maksimeerimine). Veebirakendus võib hallata ülejäänud akna joonistamist ja sisendi töötlemist, välja arvatud kattuva akna juhtnuppudega plokk.
- CSS-funktsioonis calc() on lubatud kasutada väärtusi «infinity», «-infinity» ja «NaN» või väljendeid, mis toovad selliseid väärtusi, näiteks ‘calc(1/0)’.
- CSS-omandis color-scheme, mis võimaldab määrata, millistes värviskeemides võib elementi korrektselt kuvada («light», «dark», «day mode» ja «night mode»), on lisatud parameeter «only», mis võimaldab erandina välistada värviskeemi sundmuutmise teatud HTML-elementide jaoks. Näiteks, kui määrata «div { color-scheme: only light }», siis kasutatakse elementide div jaoks ainult heledat teemat, isegi kui brauseris on sundsees tume kujundus.
- Omaduse document.adoptedStyleSheets väärtuste muutmiseks on nüüd lubatud kasutada operatsioone push() ja pop() täisuuendamise asemel. Näiteks «document.adoptedStyleSheets.push(newSheet);».
- CanvasRenderingContext2D liidese rakendamisse on lisatud toetus ContextLost ja ContextRestored sündmustele, meetod reset(), valik «willReadFrequently», CSS-tekstimoodustajad, joonistusprimitiv roundRect ja koonuslikud gradientid. SVG-filtrite tugi on paranenud.
- Preamble «-webkit-» eemaldati omadustest «text-emphasis», «text-emphasis-color», «text-emphasis-position» ja «text-emphasis-style».
- Lehtede jaoks, mis on avatud ilma HTTPS-ita, on keelatud pöörduda API Battery Status, mis võimaldab saada teavet akulaengu kohta.
- Meetodis navigator.getGamepads() tagastatakse Gamepad objektide massiiv GamepadList'i asemel. GamepadList ei ole enam toetatud Chromes, mis vastab standardi nõuetele ja Gecko ning Webkit mootorite käitumisele.
- API WebCodecs on viidud vastavusse spetsifikatsiooniga. Eelkõige on muudetud meetodit EncodedVideoChunkOutputCallback() ja konstruktori VideoFrame().
- JavaScript-mootor V8-s on API Intl.Locale-sse lisatud uued omadused calendars, collations, hourCycles, numberingSystems, timeZones, textInfo ja weekInfo, mis kuvavad teavet toetatavate kalendrite, ajavööndite ning aja ja teksti parameetrite kohta. const arabicEgyptLocale = new Intl.Locale(‘ar-EG’) // ar-EG arabicEgyptLocale.calendars // [‘gregory’, ‘coptic’, ‘islamic’, ‘islamic-civil’, ‘islamic-tbla’] arabicEgyptLocale.collations // [‘compat’, ’emoji’, ‘eor’] arabicEgyptLocale.hourCycles // [‘h12’] arabicEgyptLocale.numberingSystems // [‘arab’] arabicEgyptLocale.timeZones // [‘Africa/Cairo’] arabicEgyptLocale.textInfo // { direction: ‘rtl’ } japaneseLocale.textInfo // { direction: ‘ltr’ } chineseTaiwanLocale.textInfo // { direction: ‘ltr’ }
- Lisatud on funktsioon Intl.supportedValuesOf(code), mis tagastab massiivi toetatud tuvastajatest API Intl omaduste calendar, collation, currency, numberingSystem, timeZone ja unit jaoks. Intl.supportedValuesOf(‘unit’) // [‘acre’, ‘bit’, ‘byte’, ‘celsius’, ‘centimeter’, …]
- Web-arendajate tööriistadele on tehtud täiustusi. Veebipaneeli on lisatud võimalus aeglustada WebSocket-päringute töötlemist, et testida funktsionaalsust aeglases võrguühenduses. Rakenduse vahelehele on lisatud paneel API Reporting kaudu genereeritud aruannete jälgimiseks. Rekordimise paneelis on enne salvestatud käsu taasesitamist rakendatud ootamisfunktsiooni, kuni element on nähtav või klõpsamiseks kätte saadav. Tumeda teema simuleerimine on muutunud lihtsamaks. Puutetundlikest ekraanidest tulenev paneelihalduse tööd on parendatud. Veebikonsolis on lisatud escape-järjendite tugi teksti värvimiseks, sisse viidud on asendustüübid %s, %d, %i ja %f, ning sõnumifiltrite toimimist on parendatud.

Lisaks uuendustele ja vigade parandamisele on uues versioonis kõrvaldatud 28 haavatavust. Paljusid haavatavusi tuvastati automatiseeritud testimise käigus tööriistadega AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ja AFL. Kriitilisi probleeme, mis võimaldaksid ületada kõik brauseri kaitseastmed ja käivitada koodi süsteemis väljaspool sandbox-keskkonda, ei tuvastatud. Haavatavuste avastamise preemiate programmi raames on Google käesoleva väljaande eest maksnud 21 preemiat kogusummas 96 000 USA dollarit (üks preemia 15 000 dollarit, kaks preemiat 10 000 dollarit, kuus preemiat 7 000 dollarit, kaks preemiat 5 000 dollarit, kaks preemiat 3 000 dollarit ja üks preemia 2 000 ja 1 000 dollarit).
Allikas: opennet.ru


