Firma Google zaprezentowała wydanie przeglądarki internetowej Chrome 96. Jednocześnie dostępna jest stabilna wersja projektu open source Chromium, będącego bazą dla Chrome. Przeglądarka Chrome wyróżnia się wykorzystaniem logo Google, systemem powiadamiania o awariach, modułami do odtwarzania chronionych treści wideo (DRM), automatyczną instalacją aktualizacji oraz przesyłaniem parametrów RLZ przy wyszukiwaniu. Wersja Chrome 96 będzie wspierana przez 8 tygodni w ramach cyklu Extended Stable. Następne wydanie Chrome 97 zaplanowane jest na 4 stycznia.
Główne zmiany w Chrome 96:
- W panelu zakładek, wyświetlanym pod paskiem adresu, domyślnie ukryto przycisk Aplikacje, który umożliwiał otwarcie strony „chrome://apps” z listą zainstalowanych usług i aplikacji webowych.

- Zakończono wsparcie dla platformy Android 5.0 i wcześniejszych wersji.
- Dodano wsparcie dla przekierowania z HTTP na HTTPS przy użyciu DNS (przy określaniu adresów IP oprócz rekordów DNS „A” i „AAAA” również żądany jest rekord DNS „HTTPS”, dzięki czemu przeglądarka natychmiast połączy się z witryną przez HTTPS).
- W wersji dla systemów desktopowych pamięć podręczna przejść (Back-forward cache), zapewniająca natychmiastowe przejście przy użyciu przycisków „Wstecz” i „Dalej”, została rozszerzona o wsparcie nawigacji po wcześniej przeglądanych stronach po otwarciu innej witryny.
- Dodano ustawienie „chrome://flags#force-major-version-to-100” do testowania możliwych zakłóceń w działaniu witryn 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 aktywacji opcji, w nagłówku User-Agent zaczyna być wyświetlana wersja 100 (Chrome/100.0.4664.45).
- W wersjach dla platformy Windows dane związane z działaniem usług sieciowych (ciasteczka itp.) przeniesiono do osobnego podkatalogu „Network” w ramach przygotowań do wdrożenia mechanizmu izolacji sieci (Network Sandbox).
- W trybie Origin Trials (eksperymentalne funkcje wymagające osobnej aktywacji) dodano kilka nowych API. Origin Trial oznacza możliwość pracy z określonym API z aplikacji ładowanych z localhost lub 127.0.0.1, lub po zarejestrowaniu się i uzyskaniu specjalnego tokena, który jest ważny przez ograniczony czas dla konkretnej witryny.
- Zaproponowano obiekt FocusableMediaStreamTrack (będzie przemianowany na BrowserCaptureMediaStreamTrack), wspierający metodę focus(), za pomocą której aplikacje przechwytujące zawartość okien lub kart (np. programy do strumieniowania zawartości okien podczas wideokonferencji) mogą uzyskać informacje o fokusie wejścia i śledzić jego zmiany.
- Wprowadzono mechanizm Priority Hints, który pozwala ustalić ważność danego zasobu ładowanego poprzez określenie dodatkowego atrybutu „importance” w tagach takich jak iframe, img i link. Atrybut może przyjmować wartości „auto”, „low” oraz „high”, które wpływają na kolejność ładowania zewnętrznych zasobów przez przeglądarkę.
- W nagłówku Cross-Origin-Embedder-Policy, który zarządza trybem izolacji Cross-Origin i pozwala określić zasady bezpiecznego wykorzystywania na stronie operacji uprzywilejowanych, dodano wsparcie dla parametru „credentialless”, który dezaktywuje przesyłanie informacji związanych z danymi uwierzytelniającymi, takich jak cookie i certyfikaty klientów.
- W CSS zaproponowano nową pseudo-klasę „:autofill”, która pozwala śledzić automatyczne wypełnienie pól w tagu input przez przeglądarkę (przy ręcznym wypełnianiu selektor nie działa).
- Aby wykluczyć cykle zapytań, właściwości CSS writing-mode, direction i backgrounds nie są już stosowane do viewportu, gdy stosuje się właściwość CSS contain do tagów HTML lub BODY.
- Dodano właściwość CSS font-synthesis, która pozwala zarządzać możliwością syntezowania krojów (oblique, bold i small-cap), które nie występują w wybranej rodzinie czcionek.
- W API PerformanceEventTiming, które pozwala uzyskać dodatkowe informacje do pomiaru i optymalizacji responsywności interfejsu, dodano atrybut InteractionID z identyfikatorem interakcji użytkownika. Identyfikator pozwala powiązać różne metryki z jednym działaniem użytkownika, na przykład podczas dotykania ekranu dotykowego generowane są różne zdarzenia, takie jak pointerdown, mousedown, pointerup, mouseup i click, a InteractionID pozwala powiązać wszystkie te zdarzenia z jednym dotknięciem.
- Dodano nowy typ wyrażeń medialnych (Media Query) — „prefers-contrast” dla dostosowania treści strony do ustawień kontrastu w systemie operacyjnym (na przykład włączenie trybu wysokiego kontrastu).
- Dla izolowanych aplikacji PWA w manifeście dodano wsparcie dla opcjonalnego pola „id” z globalnym identyfikatorem aplikacji (jeżeli pole nie zostanie określone, do identyfikacji używany jest adres URL startowy).
- Dla odrębnych aplikacji PWA wprowadzono możliwość rejestracji jako obsługiwacze URL. Na przykład, aplikacja music.example.com może zarejestrować się jako obsługiwacz URL https://*.music.example.com, a wszystkie przejścia z aplikacji zewnętrznych przy tych linkach, na przykład z komunikatorów i klientów pocztowych, będą prowadziły do otwarcia tej aplikacji PWA, a nie nowej karty w przeglądarce.
- Dodano dyrektywę CSP (Content Security Policy) wasm-unsafe-eval do zarządzania możliwością uruchamiania kodu na WebAssembly. Zastosowanie dyrektywy CSP script-src teraz obejmuje również WebAssembly.
- W WebAssembly dodano wsparcie dla typów odniesienia (typ externref). Moduły WebAssembly mogą teraz przechowywać w zmiennych i przekazywać jako argumenty odniesienia do obiektów JavaScript i DOM.
- W PaymentMethodData ogłoszono przestarzałe wsparcie metody płatności „basic-card”, która pozwalała na obsługę różnych typów kart za pomocą jednego identyfikatora, bez przypisania do poszczególnych typów danych. Zamiast „basic-card” zaleca się używanie alternatywnych metod, takich jak Google Pay, Apple Pay i Samsung Pay.
- Podczas korzystania z API U2F (Cryptotoken) użytkownik zobaczy ostrzeżenie o przestarzałości tego interfejsu programowania. API U2F zostanie domyślnie wyłączone w wersji Chrome 98 i całkowicie usunięte w Chrome 104. Zamiast API U2F należy korzystać z API Web Authentication.
- Wprowadzono ulepszenia w narzędziach dla programistów webowych. Dodano nową zakładkę „Przegląd CSS” (CSS Overview), która przedstawia podsumowanie informacji o kolorach, czcionkach, nieużywanych deklaracjach i wyrażeniach medialnych, a także wskazuje możliwe problemy. Udoskonalone operacje edytowania i kopiowania CSS. W panelu Stylów (Styles) dodano opcję kopiowania definicji CSS w formie wyrażeń JavaScript. W panelu inspekcji żądań sieciowych dodano zakładkę Payload z analizą parametrów żądania. W konsoli webowej dodano opcję ukrywania wszystkich błędów CORS (Cross-Origin Resource Sharing) oraz zapewniono wyjście śladu stosu dla funkcji async.

Oprócz nowości i poprawek błędów w nowej wersji usunięto 25 podatności. Wiele z nich zidentyfikowano w wyniku zautomatyzowanego testowania narzędziami AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie stwierdzono krytycznych problemów, które pozwoliłyby na obejście wszystkich warstw ochrony przeglądarki i wykonanie kodu w systemie poza środowiskiem sandbox. W ramach programu nagród za wykrywanie podatności, firma Google przyznała 13 nagród o łącznej wartości 60 tysięcy dolarów amerykańskich (jedna nagroda $15000, jedna nagroda $10000, dwie nagrody $7500, jedna nagroda $5000, dwie nagrody $3000, jedna nagroda $2500, dwie nagrody po $2000, dwie nagrody po $1000 i jedna nagroda $500). Wartość 5 nagród nie została jeszcze określona.
Źródło: opennet.ru


