Chrome wersja 101

Google zaprezentowało wersję przeglądarki internetowej Chrome 101. Jednocześnie dostępna jest stabilna wersja darmowego projektu Chromium, na którym opiera się Chrome. Przeglądarka Chrome różni się od Chromium wykorzystaniem logo Google, obecnością systemu wysyłania powiadomień w przypadku awarii, modułami do odtwarzania treści wideo chronionych przed kopiowaniem (DRM), systemem automatycznego instalowania aktualizacji, trwałym umożliwieniem izolacji Sandbox , dostarczając klucze do Google API i przesyłając parametry RLZ- podczas wyszukiwania. Dla tych, którzy potrzebują więcej czasu na aktualizację, dostępna jest osobna gałąź Extended Stable, po której następuje 8 tygodni, która stanowi aktualizację do poprzedniej wersji Chrome 100. Następna wersja Chrome 102 jest zaplanowana na 24 maja.

Kluczowe zmiany w Chrome 101:

  • Dodano funkcję Side Search, która umożliwia przeglądanie wyników wyszukiwania na pasku bocznym jednocześnie z przeglądaniem innej strony (w jednym oknie można jednocześnie zobaczyć zarówno zawartość strony, jak i wynik dostępu do wyszukiwarki). Po przejściu na stronę ze strony z wynikami wyszukiwania w Google, przed polem wprowadzania danych w pasku adresu pojawia się ikona z literą „G”, po kliknięciu na nią otwiera się boczny panel z wynikami wcześniej podjęte poszukiwania. Domyślnie funkcja nie jest włączona we wszystkich systemach; aby ją włączyć, możesz użyć ustawienia „chrome://flags/#side-search”.
    Chrome wersja 101
  • Pasek adresu Omniboxa umożliwia wstępne renderowanie treści rekomendacji oferowanych w trakcie pisania. Wcześniej, aby przyspieszyć przejście z paska adresu, najbardziej prawdopodobne rekomendacje dotyczące przejścia były ładowane bez czekania na kliknięcie użytkownika, za pomocą wywołania Prefetch. Teraz oprócz ładowania, są one także renderowane w buforze (w tym wykonywane są skrypty i tworzone jest drzewo DOM), co pozwala na błyskawiczne wyświetlenie rekomendacji po kliknięciu. Aby kontrolować renderowanie predykcyjne, należy ustawić ustawienia „chrome://flags/#enable-prerender2”, „chrome://flags/#omnibox-trigger-for-prerender2” i „chrome://flags/#search-suggestion-for -” są sugerowane. prerender2”.
  • Informacje w nagłówku HTTP User-Agent i parametrach JavaScript navigator.userAgent, navigator.appVersion i navigator.platform zostały przycięte. Nagłówek zawiera jedynie informację o nazwie przeglądarki, istotnej wersji przeglądarki (składniki wersji MINOR.BUILD.PATCH zostają zastąpione przez 0.0.0), platformie oraz typie urządzenia (telefon komórkowy, PC, tablet). Aby uzyskać dodatkowe dane, takie jak dokładna wersja i dane rozszerzonej platformy, należy skorzystać z interfejsu User Agent Client Hints API. W przypadku witryn, które nie zawierają wystarczającej ilości nowych informacji i nie są jeszcze gotowe na przejście na Wskazówki dotyczące klienta użytkownika, do maja 2023 r. będą miały możliwość zwrotu pełnego agenta użytkownika.
  • Zmieniono zachowanie funkcji setTimeout przy przekazywaniu zerowego argumentu, który określa opóźnienie wywołania. Począwszy od Chrome 101, po podaniu „setTimeout(…, 0)” kod zostanie wywołany natychmiast, bez opóźnienia 1 ms wymaganego przez specyfikację. W przypadku powtarzających się zagnieżdżonych wywołań setTimeout stosowane jest opóźnienie 4 ms.
  • Wersja na platformę Android obsługuje żądanie uprawnień do wyświetlania powiadomień (w systemie Android 13, aby wyświetlać powiadomienia, aplikacja musi posiadać uprawnienie „POST_NOTIFICATIONS”, bez którego wysyłanie powiadomień zostanie zablokowane). Podczas uruchamiania przeglądarki Chrome w środowisku Androida 13 przeglądarka wyświetli teraz monit o uzyskanie uprawnień do powiadomień.
  • Usunięto możliwość używania interfejsu API WebSQL w skryptach innych firm. Domyślnie w Chrome 97 było włączone blokowanie WebSQL w skryptach, które nie są ładowane z bieżącej witryny, ale pozostawiono opcję wyłączenia tego zachowania. Chrome 101 usuwa tę opcję. W przyszłości planujemy stopniowo i całkowicie wycofywać obsługę WebSQL, niezależnie od kontekstu użycia. Zaleca się używanie interfejsów API Web Storage i Indexed Database zamiast WebSQL. Silnik WebSQL oparty jest na kodzie SQLite i może zostać wykorzystany przez osoby atakujące do wykorzystania luk w zabezpieczeniach SQLite.
  • Usunięto nazwy zasad korporacyjnych (chrome://policy), które zawierały terminy niewyłączne. Począwszy od przeglądarki Chrome 86, dla tych zasad zaproponowano zasady zastępowania, które używają kompleksowej terminologii. Terminy takie jak „biała lista”, „czarna lista”, „natywna” i „główna” zostały oczyszczone. Na przykład nazwa zasady URLBlacklist została zmieniona na URLBlocklist, AutoplayWhitelist na AutoplayAllowlist, a NativePrinters na Printers.
  • W trybie Origin Trials (funkcje eksperymentalne wymagające osobnej aktywacji) testowanie API Federated Credential Management (FedCM) rozpoczynało się dotychczas jedynie w złożeniach dla platformy Android, co pozwala na tworzenie ujednoliconych usług tożsamości zapewniających prywatność i pracę bez krzyżowania się -mechanizmy śledzenia witryny, takie jak przetwarzanie plików cookie stron trzecich. Wersja próbna Origin oznacza możliwość pracy z określonym API z aplikacji pobranych z localhost lub 127.0.0.1 lub po zarejestrowaniu się i otrzymaniu specjalnego tokena, który jest ważny przez ograniczony czas dla konkretnej witryny.
  • Ustabilizowano i zaoferowano każdemu mechanizm Priority Hints, pozwalający ustawić ważność konkretnego pobieranego zasobu poprzez określenie dodatkowego atrybutu „ważność” w tagach takich jak iframe, img i link. Atrybut może przyjmować wartości „auto” oraz „low” i „high”, które wpływają na kolejność ładowania przez przeglądarkę zasobów zewnętrznych.
  • Dodano właściwość AudioContext.outputLatency, dzięki której można dowiedzieć się informacji o przewidywanym opóźnieniu przed wyjściem audio (opóźnienie pomiędzy żądaniem audio a rozpoczęciem przetwarzania odebranych danych przez urządzenie wyjściowe audio).
  • Dodano właściwość CSS czcionki-palette i regułę @font-palette-values, umożliwiającą wybranie palety z kolorowej czcionki lub zdefiniowanie własnej palety. Na przykład tej funkcji można użyć do dopasowania kolorowych czcionek znakowych lub emoji do koloru treści lub do włączenia trybu ciemnego lub jasnego dla czcionki.
  • Dodano funkcję hwb() CSS, która zapewnia alternatywną metodę określania kolorów sRGB w formacie HWB (Hue, Whiteness, Blackness), podobnym do formatu HSL (Hue, Saturation, Lightness), ale łatwiejszym dla ludzkiej percepcji.
  • W metodzie window.open() określenie właściwości popup w wierszu windowFeatures bez przypisania wartości (tj. po prostu podając popup zamiast popup=true) jest teraz traktowane jako umożliwienie otwarcia miniaturowego wyskakującego okna (analogicznie do „ popup=true”) zamiast przypisać domyślną wartość „false”, co było nielogiczne i wprowadzające w błąd programistów.
  • Interfejs API MediaCapabilities, który dostarcza informacji o możliwościach urządzenia i przeglądarki w zakresie dekodowania treści multimedialnych (obsługiwane kodeki, profile, przepływności i rozdzielczości), dodał obsługę strumieni WebRTC.
  • Zaproponowano trzecią wersję API Bezpiecznego Potwierdzenia Płatności, udostępniającą narzędzia umożliwiające dodatkowe potwierdzenie przeprowadzanej transakcji płatniczej. Nowa wersja dodaje obsługę identyfikatorów wymagających wprowadzenia danych, definicję ikony sygnalizującej niepowodzenie weryfikacji oraz opcjonalną właściwość payeeName.
  • Dodano metodę Forget() do interfejsu API USBDevice w celu cofnięcia wcześniej przyznanych przez użytkownika uprawnień 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 twórców stron internetowych. Dostępna jest możliwość importowania i eksportowania zarejestrowanych działań użytkownika w formacie JSON (przykład). Udoskonalono obliczanie i wyświetlanie właściwości prywatnych w konsoli internetowej i interfejsie przeglądania kodu. Dodano obsługę pracy z modelem kolorów HWB. Dodano możliwość przeglądania warstw kaskadowych zdefiniowanych za pomocą reguły @layer w panelu CSS.
    Chrome wersja 101

Oprócz innowacji i poprawek błędów nowa wersja eliminuje 30 luk. Wiele luk zostało zidentyfikowanych w wyniku automatycznych testów przy użyciu narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie zidentyfikowano żadnych krytycznych problemów, które pozwoliłyby ominąć wszystkie poziomy ochrony przeglądarki i wykonać kod w systemie poza środowiskiem piaskownicy. W ramach programu nagród pieniężnych za wykrywanie luk w bieżącej wersji firma Google wypłaciła 25 nagród o wartości 81 tys. dolarów (jedna nagroda 10000 7500 dolarów, trzy nagrody 7000 dolarów, trzy nagrody 6000 dolarów, jedna nagroda 5000 dolarów, dwie nagrody 2000 dolarów, cztery nagrody 1000 dolarów, trzy nagrody 500 dolarów i jedna nagroda w wysokości 6 dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz