Kompania Google publikoi versionin e ri të shfletuesit web Chrome 99. Në të njëjtën kohë, është në dispozicion një version stabil i projektit të hapur Chromium, që formon bazën e Chrome. Shfletuesi Chrome dallon për përdorimin e logove të Google, për sistemin e njoftimeve në rast dështimi, modulat për riprodhimin e përmbajtjes video të mbrojtur nga kopjimi (DRM), sistemin automatik të instalimit të përditësimeve dhe transmetimin e parametrave RLZ gjatë kërkimeve. Lëshimi tjetër i Chrome 100 është planifikuar për 29 mars.
Kryesore ndryshime në Chrome 99:
- Në Chrome për Android është përfshirë përdorimi i mekanizmit të Certifikatës së Transparencës, i cili siguron mbajtjen e një regjistri publik të pavarur të të gjitha certifikatave të lëshuara dhe të revokuara. Ky registr i hapur lejon auditimin e pavarur të të gjitha ndryshimeve dhe veprimeve nga qendrat e çertifikimit dhe lejon që të dallohet menjëherë çdo përpjekje për të krijuar regjistra të falsifikuar në fshehtësi. Certifikatat që nuk janë të regjistruara në Certifikatën e Transparencës do të refuzohen automatikisht nga shfletuesi, me shfaqjen e një gabimi përkatës. Më parë, ky mekanizëm ishte aktivizuar vetëm për versionin desktop dhe për një përqindje të vogël të përdoruesve të Android.
- Për shkak të numrit të madh të ankesave, është çaktiveuar mekanizmi i propozuar për testim të Arvitjes së Rjetit Privat, i cili kishte si qëllim të forconte mbrojtjen ndaj sulmeve që lidhen me qasjen në burime në rrjetin lokal ose në kompjuterin e përdoruesit (localhost) nga skriptet që ngarkoheshin kur hapen faqet. Për të mbrojtur ndaj sulmeve të tilla, në rastin e qasjes në çdo nënburim në rrjetin e brendshëm, është propozuar dërgimi i një kërkese të qartë për autorizim për ngarkimin e atyre nënburimeve. Google do të rishikojë implementimin duke marrë parasysh komentet e marra dhe në një nga lëshimet e ardhshme do të ofrojë një version të përmirësuar.
- ĂshtĂ« rikthyer mundĂ«sia pĂ«r tĂ« fshirĂ« motorĂ«t e kĂ«rkimit tĂ« propozuar si parazgjedhje. KujtojmĂ« se qĂ« nga Chrome 97, nĂ« konfiguratorin nĂ« seksionin "Menaxhimi i motorĂ«ve tĂ« kĂ«rkimit" (chrome://settings/searchEngines) ishte ndĂ«rprerĂ« mundĂ«sia e eliminimit tĂ« elementeve nga lista e motorĂ«ve tĂ« kĂ«rkimit tĂ« parazgjedhur (Google, Bing, Yahoo) dhe redaktimi i parametrave tĂ« motorĂ«ve tĂ« kĂ«rkimit, gjĂ« qĂ« shkaktoi pakĂ«naqĂ«si tĂ« shumtĂ« tek pĂ«rdoruesit.
- Në platformën Windows është ofruar mundësia për të fshirë aplikacionet web vetëqendruese (PWA, Aplikacion Web i Përparuar) përmes cilësimeve sistemore ose paneli i menaxhimit në analogji me fshirjen e aplikacioneve Windows.
- Po kryhet testimi përfundimtar për një mundësi që mund të shkaktojë probleme në funksionimin e faqeve pasi shfletuesi arrin versionin me tre figure në vend të dy (në kohën e lëshimit të Chrome 10, në bibliotekat e analizorit të User-Agent dolën shumë probleme). Duke aktivizuar opsionin "chrome://flags#force-major-version-to-100", në titullin User-Agent fillon të lëshohet versioni 100.
- Në CSS është implementuar mbështetje për shtresat kaskaduese, të përcaktuara me rregullin @layer dhe të importuara përmes rregullit CSS @import, duke përdorur funksionin layer(). Rregullat CSS brenda një shtrese kaskadë në një kohë kaskadë së bashku, duke thjeshtuar menaxhimin e gjithë kaskadës, duke ofruar mundësi fleksibël për të ndryshuar rendin e shtresave dhe duke lejuar një menaxhim më të qartë të skedareve CSS, duke parandaluar konfliktet. Shtresat kaskaduese janë të përshtatshme për tema të dizajnit, përcaktimin e stileve të elementeve të parazgjedhura dhe nxjerrjen e dizajnit të komponentëve në biblioteka të jashtme.
- Në klasën HTMLInputElement është shtuar metoda showPicker(), që lehtëson shfaqjen e dialogëve të gatshëm për plotësimin e vlerave standarde në fushat me llojet "date", "month", "week", "time", "datetime-local", "color" dhe "file", si dhe për fushat që mbështesin autofill dhe përzgjedhjen nga lista (datalist). Për shembull, mund të shfaqet një ndërfytyrë si një kalendar për të zgjedhur datën ose një paletë për të futur ngjyrën.

- Në modin e Provave të Origjinës (mundësi eksperimentale që kërkojnë aktivizim të veçantë) është implementuar mundësia e aktivizimit të modit të errët të dizajnit për aplikacionet web. Ngjyrat dhe sfondi për temën e errët zgjidhen përmes një fushe të re color_scheme_dark në skedarin e manifestit të aplikacionit web. Prova e Origjinës nënkupton mundësinë për të punuar me API-në e specifikuar nga aplikacione që ngarkohen nga localhost ose 127.0.0.1, ose pas regjistrimit dhe marrjes së një tokeni të veçantë, i cili vepron për një periudhë të kufizuar për një sit të caktuar.
- API Handwriting Recognition është stabilizuar dhe ofruar për të gjithë ato që dëshirojnë, duke lejuar përdorimin e shërbimeve të njohjes së shkrimit të dorës, që ofrohen nga sistemi operativ.
- Për aplikacionet web të ndara (PWA, Progressive Web App), është stabilizuar komponenti Window Controls Overlay, i cili zgjeron hapësirën e ekranit të aplikacionit në tërë dritaren, duke përfshirë zonën e titullit mbi të cilën janë vendosur butonat standard të kontrollit të dritares (mbyllja, minimizimi, maksimizimi). Aplikacioni web mund të menaxhojë vizatimin dhe përpunimin e hyrjeve në tërë dritaren, përveç bllokut të vendosur me butonat e kontrollit të dritares.
- Në funksionin CSS calc() është e lejuar të specifikohen vlera 'infinity', '-infinity' dhe 'NaN' ose shprehje që çojnë në këto vlera, për shembull, 'calc(1/0)'.
- Në pronën CSS color-scheme, e cila lejon të përcaktohet në cilat skema ngjyrash mund të tregohet saktësisht elementi ('light', 'dark', 'day mode' dhe 'night mode'), është shtuar parametri 'only', i cili lejon përjashtimin e ndryshimit të detyrueshëm të skemës së ngjyrave për elemente të caktuara HTML. Për shembull, nëse specifikohet 'div { color-scheme: only light }', atëherë për elementin div do të përdoret vetëm tema e lehtë, madje edhe nëse në shfletues është aktivizuar me detyrim pamja e errët.
- Për të ndryshuar vlerat e pronës document.adoptedStyleSheets tani mund të përdoren operacionet push() dhe pop() në vend të ripërcaktimit të plotë të pronës. Për shembull, 'document.adoptedStyleSheets.push(newSheet);'.
- Implementimi i ndërfaqes CanvasRenderingContext2D është përmirësuar me mbështetje për ngjarjet ContextLost dhe ContextRestored, metodën reset(), opsionet 'willReadFrequently', modifikatorët e tekstit CSS, primitivin e vizatimit roundRect dhe gradientet konikë. Mbështetje për filtrat SVG është përmirësuar.
- Janë hequr prefikset '-webkit-' për pronat 'text-emphasis', 'text-emphasis-color', 'text-emphasis-position' dhe 'text-emphasis-style'.
- Për faqet e hapura pa HTTPS, është ndaluar qasja në API-në e Statusit të Baterisë, e cila lejon marrjen e informacioneve rreth ngarkesës së baterisë.
- Në metodën navigator.getGamepads() është siguruar që të kthehet një array objektesh Gamepad në vend të GamepadList. GamepadList nuk mbështetet më në Chrome, që përputhet me kërkesat e specifikimit dhe me sjelljen e motorëve Gecko dhe Webkit.
- API WebCodecs është sjellë në përputhje me specifikimin. Në veçanti, janë ndryshuar metoda EncodedVideoChunkOutputCallback() dhe konstruktori VideoFrame().
- Në motorin JavaScript V8, në API-në Intl.Locale janë shtuar pronat e reja calendars, collations, hourCycles, numberingSystems, timeZones, textInfo dhe weekInfo, të cilat shfaqin informacione rreth kalendarëve, zona të kohës dhe parametrave të kohës dhe tekstit. 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' }
- ĂshtĂ« shtuar funksioni Intl.supportedValuesOf(code), i cili kthen njĂ« array me identifikatorĂ«t e mbĂ«shtetur pĂ«r API-nĂ« Intl pĂ«r pronat calendar, collation, currency, numberingSystem, timeZone dhe unit. Intl.supportedValuesOf('unit') // ['acre', 'bit', 'byte', 'celsius', 'centimeter', âŠ]
- JanĂ« bĂ«rĂ« pĂ«rmirĂ«sime nĂ« mjetet pĂ«r zhvilluesit e web. NĂ« panelin e rrjetit Ă«shtĂ« ofruar mundĂ«sia pĂ«r tĂ« ngadalĂ«suar kĂ«rkesat WebSocket pĂ«r debugging nĂ« kushte tĂ« lidhjes sĂ« ngadalshme tĂ« rrjetit. NĂ« skedarin 'Application' Ă«shtĂ« shtuar njĂ« panel pĂ«r tĂ« monitoruar raportet e gjeneruara pĂ«rmes API Reporting. NĂ« panelin Recorder para riprodhimit tĂ« komandĂ«s sĂ« regjistruar Ă«shtĂ« zbatuar mbĂ«shtetje pĂ«r tĂ« pritur derisa elementi tĂ« bĂ«het i dukshĂ«m ose i aksesueshĂ«m pĂ«r klikim. ĂshtĂ« thjeshtuar emulimi i temĂ«s sĂ« errĂ«t. Menaxhimi i paneleve nĂ« ekranet me prekje Ă«shtĂ« pĂ«rmirĂ«suar. NĂ« konsolĂ«n web Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r sekuenca tĂ« escape pĂ«r ngjyrosjen e tekstit, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r maskat e zamĂ«-ndĂ«rrimit %s, %d, %i dhe %f, dhe Ă«shtĂ« pĂ«rmirĂ«suar funksionimi i filtrave tĂ« mesazheve.

Përveç novacionëve dhe korrigjimeve të gabimeve, në versionin e ri janë eliminuar 28 vulnerabilitete. Shumica e vulnerabiliteteve janë identifikuar nëpërmjet testimit automatizuar me mjetet AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer dhe AFL. Nuk janë identifikuar probleme kritike që mund të anashkalojnë të gjitha nivelet e mbrojtjes së shfletuesit dhe të ekzekutojnë kodin në sistem përtej sandboxes. Në kuadër të programit të shpërblimeve për zbulesat e vulnerabiliteteve, për këtë lëshim, kompania Google ka dhënë 21 shpërblime me një shumë totale prej 96,000 dollarësh (një shpërblim prej 15,000 dollarësh, dy shpërblime prej 10,000 dollarësh, gjashtë shpërblime prej 7,000 dollarësh, dy shpërblime prej 5,000 dollarësh, dy shpërblime prej 3,000 dollarësh dhe një shpërblim prej 2,000 dhe 1,000 dollarësh).
Burimi: opennet.ru


