Wydanie Chrome 101

Firma Google zaprezentowała wydanie przeglądarki internetowej Chrome 101. Jednocześnie dostępna jest stabilna wersja projektu open-source Chromium, który stanowi podstawę Chrome. Przeglądarka Chrome różni się od Chromium użyciem logo Google, posiadaniem systemu powiadomień w przypadku awarii, modułami do odtwarzania chronionych treści wideo (DRM), systemem automatycznej instalacji aktualizacji, stałym włączonym izolowaniem Sandbox, dostarczaniem kluczy do Google API oraz przekazywaniem parametrów RLZ podczas wyszukiwania. Dla tych, którzy potrzebują więcej czasu na aktualizację, osobno wspierana jest gałąź Extended Stable, która jest utrzymywana przez 8 tygodni, w której zrealizowana została aktualizacja do poprzedniej wersji Chrome 100. Następne wydanie Chrome 102 zaplanowane jest na 24 maja.

Główne zmiany w Chrome 101:

  • Dodano narzędzie Side Search, które umożliwia jednoczesne przeglądanie wyników wyszukiwania w bocznym panelu podczas przeglądania innej strony (w jednym oknie można widzieć zarówno zawartość strony, jak i wyniki wyszukiwania). Po przejściu na jakąś stronę z wyników wyszukiwania w Google przed polem wprowadzania w pasku adresu pojawia się ikona z literą „G”, po kliknięciu na którą otwiera się boczny panel z wynikami wcześniejszego wyszukiwania. Domyślnie funkcja nie jest włączona na wszystkich systemach; aby ją włączyć, można użyć ustawienia „chrome://flags/#side-search”.
    Wydanie Chrome 101
  • W pasku adresu Omnibox zaimplementowano wstępną renderowanie (prerendering) treści rekomendacji, które są proponowane w miarę wpisywania. Wcześniej, aby przyspieszyć przejście z paska adresu, najbardziej prawdopodobne rekomendacje były załadowywane bez czekania na kliknięcie użytkownika, korzystając z wywołania Prefetch. Teraz, oprócz ładowania, są one również renderowane w pamięci podręcznej (w tym wykonywane są skrypty i tworzona jest struktura DOM), co umożliwia natychmiastowe wyświetlanie rekomendacji po kliknięciu. W celu zarządzania wstępnym renderowaniem, zaproponowano ustawienia «chrome://flags/#enable-prerender2», «chrome://flags/#omnibox-trigger-for-prerender2» oraz «chrome://flags/#search-suggestion-for-prerender2».
  • Informacje w nagłówku HTTP User-Agent i parametrach JavaScript navigator.userAgent, navigator.appVersion oraz navigator.platform zostały ograniczone. W nagłówku pozostawiono jedynie dane o nazwie przeglądarki, istotnej wersji przeglądarki (składniki wersji MINOR.BUILD.PATCH zastąpiono wartościami 0.0.0), platformie oraz typie urządzenia (smartfon, PC, tablet). Aby uzyskać dodatkowe informacje, takie jak dokładna wersja i rozszerzone dane o platformie, należy korzystać z API User Agent Client Hints. Dla stron, którym brak nowych informacji i które nie są jeszcze gotowe do przejścia na User Agent Client Hints, do maja 2023 roku wprowadzono możliwość zwracania pełnego User-Agent.
  • Zmiana w zachowaniu funkcji setTimeout z zerowym argumentem określającym opóźnienie wywołania. Począwszy od Chrome 101, przy użyciu „setTimeout(…, 0)” kod będzie wywoływany natychmiast, bez opóźnienia 1 ms, jak przewiduje specyfikacja. Dla powtarzających się zagnieżdżonych wywołań setTimeout stosowane jest opóźnienie wynoszące 4 ms.
  • W wersji na platformę Android wprowadzono wsparcie dla żądania uprawnień do wyświetlania powiadomień (w Androidzie 13, aby aplikacja mogła wyświetlać powiadomienia, musi mieć uprawnienie „POST_NOTIFICATIONS”, bez którego wysyłanie powiadomień będzie blokowane). Po uruchomieniu Chrome w środowisku Android 13 przeglądarka teraz wyświetli żądanie uzyskania uprawnień do wyświetlania powiadomień.
  • Usunięto możliwość korzystania z API WebSQL w zewnętrznych skryptach. Domyślnie blokowanie WebSQL w skryptach ładowanych z innych witryn zostało włączone w Chrome 97, ale istniała opcja wyłączenia tego zachowania. W Chrome 101 ta opcja została usunięta. W przyszłości planuje się stopniowe całkowite zaprzestanie wsparcia dla WebSQL, niezależnie od kontekstu użycia. Zamiast WebSQL zaleca się korzystanie z API Web Storage i Indexed Database. Obsługa WebSQL opierała się na kodzie SQLite i mogła być wykorzystywana przez przestępców do eksploatacji luk w SQLite.
  • Usunięto nazwy polityk dla przedsiębiorstw (chrome://policy), które zawierały wykluczające terminy. Od Chrome 86 zaproponowano zamiany w tych politykach, w których zastosowano terminologię inkluzywną. Przeprowadzono czyszczenie takich terminów, jak „whitelist”, „blacklist”, „native” i „master”. Na przykład, polityka URLBlacklist została przemianowana na URLBlocklist, AutoplayWhitelist na AutoplayAllowlist, a NativePrinters na Printers.
  • W trybie Origin Trials (eksperymentalne możliwości, wymagające osobnej aktywacji) rozpoczęto testowanie API Federated Credential Management (FedCM) tylko w wersjach dla platformy Android, które umożliwiają tworzenie zintegrowanych usług tożsamości, zapewniających prywatność i działających bez mechanizmów śledzenia międzystronowego, takich jak przetwarzanie ciasteczek zewnętrznych. Origin Trial oznacza możliwość korzystania z podanego API z aplikacji, które są ładowane z localhost lub 127.0.0.1, lub po rejestracji i uzyskaniu specjalnego tokena, który działa przez ograniczony czas dla konkretnej strony.
  • Wprowadzono mechanizm Priority Hints, który umożliwia określenie ważności ładowania poszczególnych zasobów przez dodanie dodatkowego atrybutu „importance” w tagach takich jak iframe, img i link. Atrybut może przyjmować wartości „auto”, „low” i „high”, które wpływają na kolejność ładowania zasobów zewnętrznych przez przeglądarkę.
  • Dodano właściwość AudioContext.outputLatency, która pozwala uzyskać informacje o przewidywanym opóźnieniu przed odtwarzaniem dźwięku (opóźnienie między żądaniem dźwięku a rozpoczęciem przetwarzania odebranych danych przez urządzenie odtwarzające).
  • Wprowadzono właściwość CSS font-palette oraz regułę @font-palette-values, które pozwalają wybrać paletę z kolorowego fontu lub zdefiniować własną paletę. Na przykład, wskazana możliwość może być używana do dostosowania kolorów fontów symbolowych lub emoji do kolorystyki treści, lub do włączenia trybu ciemnego lub jasnego dla fontu.
  • Dodano funkcję CSS hwb(), która oferuje alternatywną metodę określania kolorów sRGB w formacie HWB (Hue, Whiteness, Blackness), podobnym do formatu HSL (Hue, Saturation, Lightness), ale łatwiejszym do zrozumienia dla ludzi.
  • W metodzie window.open() określenie właściwości popup w ciągu windowFeatures, bez przypisywania wartości (tj. gdy popup jest po prostu określony, a nie popup=true), jest teraz przetwarzane jako włączenie otwierania miniaturowego okna popup (podobnie jak «popup=true»), zamiast przypisania domyślnej wartości «false», co było nielogiczne i wprowadzało deweloperów w błąd.
  • W API MediaCapabilities, które dostarcza informacje o możliwościach urządzenia i przeglądarki dotyczących dekodowania treści multimedialnych (obsługiwane kodeki, profile, bitrate'y i rozdzielczości), dodano wsparcie dla strumieni WebRTC.
  • Proponowana jest trzecia wersja API Secure Payment Confirmation, oferującego narzędzia do dodatkowego potwierdzenia przeprowadzanej transakcji płatniczej. W nowej wersji dodano wsparcie dla identyfikatorów wymagających wprowadzenia danych, określenia ikony do wskazywania błędu weryfikacji oraz opcjonalnej właściwości payeeName.
  • W API USBDevice dodano metoda forget() do cofnięcia wcześniej udzielonych przez użytkownika uprawnień do dostępu do urządzenia USB. Ponadto instancje USBConfiguration, USBInterface, USBAlternateInterface i USBEndpoint są teraz równe przy ścisłym porównaniu ("===", wskazują na ten sam obiekt), jeśli są zwracane dla tego samego obiektu USBDevice.
  • Wprowadzono ulepszenia w narzędziach dla deweloperów webowych. Umożliwiono import i eksport działań użytkownika w formacie JSON (przykład). Poprawiono obliczanie i wyświetlanie właściwości prywatnych w konsoli webowej i interfejsie przeglądania kodu. Dodano wsparcie dla pracy z modelem kolorów HWB. W panelu CSS dodano możliwość przeglądania warstw kaskadowych zdefiniowanych za pomocą reguły @layer.
    Wydanie Chrome 101

W nowej wersji, oprócz wprowadzenia innowacji i poprawek błędów, usunięto 30 luk zabezpieczeń. Wiele z nich zidentyfikowano dzięki automatycznemu testowaniu narzędziami AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer oraz AFL. Nie zidentyfikowano krytycznych problemów, które mogłyby zniweczyć wszystkie poziomy zabezpieczeń przeglądarki i umożliwić uruchomienie kodu w systemie poza środowiskiem sandbox. W ramach programu nagradzania za odkrywanie luk w tym wydaniu, firma Google przyznała 25 nagród o łącznej wartości 81 tysięcy dolarów (jedna nagroda 10 000 $, trzy nagrody 7 500 $, trzy nagrody 7 000 $, jedna nagroda 6 000 $, dwie nagrody 5 000 $, cztery nagrody 2 000 $, trzy nagrody 1 000 $ oraz jedna nagroda 500 $). Wysokość 6 nagród nie została jeszcze określona.

Źródło: opennet.ru

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