Premiera Chrome 99

Firma Google zaprezentowała wydanie przeglądarki internetowej Chrome 99. Równocześnie dostępne jest stabilne wydanie wolnego projektu Chromium, który stanowi podstawę Chrome. Przeglądarka Chrome różni się użyciem logo Google, systemem wysyłania powiadomień w przypadku awarii, modułami do odtwarzania chronionych treści wideo (DRM), automatyczną instalacją aktualizacji oraz przekazywaniem parametrów RLZ w trakcie wyszukiwania. Następne wydanie Chrome 100 zaplanowane jest na 29 marca.

Główne zmiany w Chrome 99:

  • W Chrome na Androida wprowadzono mechanizm Certificate Transparency, który zapewnia prowadzenie niezależnego publicznego dziennika wszystkich wydanych i odwołanych certyfikatów. Publiczny dziennik umożliwia przeprowadzanie niezależnego audytu wszystkich zmian i działań centrów certyfikacji oraz umożliwi natychmiastowe śledzenie prób ukrytego tworzenia fałszywych wpisów. Certyfikaty, które nie są odzwierciedlone w Certificate Transparency, będą automatycznie odrzucane przez przeglądarkę z odpowiednim komunikatem o błędzie. Wcześniej ten mechanizm był włączony tylko dla wersji desktopowej oraz dla niewielkiego procenta użytkowników Androida.
  • Z powodu licznych skarg wyłączono wcześniej proponowany w trybie testowym mechanizm Private Network Access, mający na celu zwiększenie ochrony przed atakami związanymi z dostępem do zasobów w lokalnej sieci lub na komputerze użytkownika (localhost) z skryptów ładowanych podczas otwierania strony. Aby chronić przed takimi atakami, w przypadku dostępu do jakichkolwiek podzasobów w sieci wewnętrznej, zaproponowano wysłanie wyraźnego żądania upoważnienia do ładowania takich podzasobów. Google przemyśli realizację uwzględniając otrzymane opinie i w jednym z przyszłych wydań zaproponuje ulepszoną wersję.
  • Przywrócono możliwość usuwania domyślnie proponowanych wyszukiwarek. Przypominamy, że od Chrome 97 w konfiguracji w sekcji "Zarządzanie wyszukiwarkami" (chrome://settings/searchEngines) wstrzymano możliwość usuwania elementów z listy domyślnych wyszukiwarek (Google, Bing, Yahoo) oraz edytowania parametrów wyszukiwarki, co wywołało niezadowolenie wielu użytkowników.
  • Na platformie Windows wprowadzono możliwość usuwania samodzielnych aplikacji webowych (PWA, Progressive Web App) przez ustawienia systemowe lub panelu administracyjnego w porównaniu do usuwania aplikacji Windows.
  • Przeprowadzane są ostateczne testy potencjalnych zakłóceń w działaniu stron internetowych po osiągnięciu przez przeglądarkę wersji składającej się z trzech cyfr zamiast dwóch (w swoim czasie po wydaniu Chrome 10 w bibliotekach analizy User-Agent pojawiło się wiele problemów). Po włączeniu opcji „chrome://flags#force-major-version-to-100” w nagłówku User-Agent zaczyna być wyświetlana wersja 100.
  • W CSS wprowadzono obsługę kaskadowych warstw, definiowanych za pomocą reguły @layer i importowanych przez regułę CSS @import, korzystając z funkcji layer(). Reguły CSS w obrębie jednej kaskadowej warstwy są kaskadowane razem, co upraszcza zarządzanie całym kaskadem, oferując elastyczne możliwości zmiany kolejności warstw i pozwalając na bardziej jednoznaczne zarządzanie plikami CSS, zapobiegając powstawaniu konfliktów. Kaskadowe warstwy są wygodne w stosowaniu do motywów, definiowania stylów domyślnych dla elementów oraz przenoszenia stylizacji komponentów do zewnętrznych bibliotek.
  • Do klasy HTMLInputElement dodano metodę showPicker(), umożliwiającą wyświetlenie gotowych dialogów do wypełniania typowych wartości w polach z typami „date”, „month”, „week”, „time”, „datetime-local”, „color” i „file”, a także w polach obsługujących autouzupełnianie (autofill) i wybór z listy (datalist). Na przykład, można pokazać interfejs w formie kalendarza do wyboru daty lub paletę do wprowadzania koloru.
    Premiera Chrome 99
  • W trybie Origin Trials (eksperymentalne możliwości, które wymagają oddzielnej aktywacji) wprowadzono możliwość włączenia ciemnego trybu wyświetlania dla aplikacji webowych. Kolory i tło dla ciemnej tematyki są wybierane za pomocą nowego pola color_scheme_dark w pliku manifestu aplikacji webowej. Origin Trial zakłada możliwość korzystania z określonego API z aplikacji załadowanych z localhost lub 127.0.0.1, lub po zarejestrowaniu się i uzyskaniu specjalnego tokena, który działa przez ograniczony czas dla konkretnej strony.
  • Ugruntowane i udostępnione wszystkim zainteresowanym API Rozpoznawania Pisma Ręcznego, umożliwiające korzystanie z usług rozpoznawania ręcznego wprowadzania, oferowanych przez system operacyjny.
  • Dla instalowanych aplikacji webowych (PWA, Progressive Web App) znormalizowano komponent Window Controls Overlay, rozszerzający obszar ekranu aplikacji na całe okno, w tym obszar nagłówka, na który nakładają się standardowe przyciski sterowania oknem (zamykanie, minimalizacja, maksymalizacja). Aplikacja webowa może zarządzać rysowaniem i przetwarzaniem wejścia w całym oknie, z wyjątkiem nałożonego bloku z przyciskami sterującymi oknem.
  • W funkcji CSS calc() dozwolone jest podawanie wartości „infinity”, „-infinity” oraz „NaN” lub wyrażeń prowadzących do podobnych wartości, np. ‘calc(1/0)’.
  • W CSS-własności color-scheme, umożliwiającej określenie, w jakich schematach kolorystycznych element może być poprawnie wyświetlany („light”, „dark”, „day mode” i „night mode”), dodano parametr „only”, pozwalający na wykluczenie wymuszonej zmiany schematu kolorystycznego dla poszczególnych elementów HTML. Na przykład, jeśli określi się „div { color-scheme: only light }”, to dla elementu div będzie używana tylko jasna tematyka, nawet jeśli w przeglądarce wymuszone będzie ciemne wybarwienie.
  • Aby zmienić wartości właściwości document.adoptedStyleSheets, teraz można stosować operacje push() i pop() zamiast całkowitego przypisania właściwości. Na przykład, „document.adoptedStyleSheets.push(newSheet);”.
  • W implementacji interfejsu CanvasRenderingContext2D dodano obsługę zdarzeń ContextLost i ContextRestored, metody reset(), opcji „willReadFrequently”, CSS-modyfikatorów tekstu, prymitywu rysowania roundRect oraz gradientów stożkowych. Udoskonalono wsparcie dla filtrów SVG.
  • Usunięto prefiks „-webkit-” z właściwości „text-emphasis”, „text-emphasis-color”, „text-emphasis-position” i „text-emphasis-style”.
  • Dla stron otwartych bez HTTPS zablokowano dostęp do API Battery Status, który pozwala uzyskać informacje o poziomie naładowania akumulatora.
  • W metodzie navigator.getGamepads() zapewniono wyjście tablicy obiektów Gamepad zamiast GamepadList. GamepadList nie jest już wspierany w Chrome, co jest zgodne z wymaganiami standardu i zachowaniem silników Gecko i Webkit.
  • API WebCodecs zostało dostosowane do specyfikacji. W szczególności zmieniono metodę EncodedVideoChunkOutputCallback() oraz konstruktor VideoFrame().
  • W silniku JavaScript V8 do API Intl.Locale dodano nowe właściwości: calendars, collations, hourCycles, numberingSystems, timeZones, textInfo oraz weekInfo, które pokazują informacje o obsługiwanych kalendarzach, strefach czasowych oraz parametrach czasu i tekstu. 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’ }
  • Dodano funkcję Intl.supportedValuesOf(code), która zwraca tablicę obsługiwanych identyfikatorów dla API Intl dla właściwości calendar, collation, currency, numberingSystem, timeZone i unit. Intl.supportedValuesOf(‘unit’) // [‘acre’, ‘bit’, ‘byte’, ‘celsius’, ‘centimeter’, …]
  • Wprowadzono ulepszenia w narzędziach dla programistów webowych. W panelu sieciowym dodano możliwość spowolnienia zapytań WebSocket dla debugowania w warunkach wolnego połączenia internetowego. Na zakładkę „Application” dodano panel do śledzenia raportów generowanych przez API Reporting. W panelu Recorder przed odtworzeniem nagranej komendy dodano wsparcie dla oczekiwania, aż element stanie się widoczny lub dostępny do kliknięcia. Uproszczono emulowanie ciemnego motywu. Udoskonalone zarządzanie panelami na ekranach dotykowych. W konsoli internetowej dodano wsparcie dla sekwencji escape do kolorowania tekstu, dodano wsparcie dla masek podpowiedzi %s, %d, %i i %f, poprawiono działanie filtrów wiadomości.
    Premiera Chrome 99

Oprócz nowości i poprawek w nowej wersji usunięto 28 podatności. Wiele z podatności ujawniono w wyniku automatycznego testowania narzędziami AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie wykryto krytycznych problemów, które pozwalałyby obejść wszystkie poziomy ochrony przeglądarki i wykonać kod w systemie poza środowiskiem sandbox. W ramach programu wypłaty nagród za wykrycie podatności w bieżącej wersji firma Google wypłaciła 21 nagród o łącznej wartości 96 tysięcy dolarów USA (jedna nagroda $15000, dwie nagrody $10000, sześć nagród $7000, dwie nagrody $5000, dwie nagrody $3000 oraz jedna nagroda o wartości $2000 i jedna o wartości $1000.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster