Wydanie Chrome 89

Firma Google zaprezentowała wydanie przeglądarki internetowej Chrome 89. Jednocześnie udostępniono stabilną wersję otwartego projektu Chromium, który stanowi podstawę Chrome. Przeglądarka Chrome wyróżnia się wykorzystaniem logotypów Google, obecnością systemu wysyłania powiadomień w razie awarii, modułami do odtwarzania chronionych treści wideo (DRM), systemem automatycznej instalacji aktualizacji oraz przekazywaniem podczas wyszukiwania parametrów RLZ. Kolejne wydanie Chrome 90 zaplanowano na 13 kwietnia.

Najważniejsze zmiany w Chrome 89:

  • Od teraz wersja Chrome dla Androida będzie mogła działać wyłącznie na urządzeniach certyfikowanych w Play Protect. W maszynach wirtualnych i emulatorach Chrome dla Androida będzie mógł być używany, jeśli emulowane jest obsługiwane urządzenie lub emulator został opracowany w Google. Sprawdzić, czy urządzenie jest certyfikowane, można w aplikacji Google Play w sekcji ustawień (na samym dole strony ustawień widoczny jest status „Play Protect certification”). W przypadku urządzeń niecertyfikowanych, na przykład przy korzystaniu z niestandardowego oprogramowania układowego, użytkownikom proponuje się zarejestrowanie swoich urządzeń, aby uruchomić Chrome.
  • Dla niewielkiego odsetka użytkowników włączono domyślne otwieranie stron przez HTTPS podczas wpisywania nazw hostów w pasku adresu. Na przykład po wpisaniu hosta example.com domyślnie zostanie otwarta strona https://example.com, a jeśli podczas otwierania wystąpią problemy, nastąpi powrót do http://example.com. Do zarządzania domyślnym użyciem „https://” udostępniono ustawienie „chrome://flags#omnibox-default-typed-navigations-to-https”.
  • Włączono obsługę profili, które pozwalają różnym użytkownikom rozdzielać swoje konta podczas korzystania z jednej przeglądarki. Na przykład za pomocą profili można zorganizować dostęp dla członków rodziny albo oddzielić sesje używane do pracy i celów prywatnych. Użytkownik może utworzyć nowy profil Chrome i skonfigurować jego aktywację po połączeniu z określonym kontem Google, dzięki czemu różni użytkownicy mogą mieć oddzielne zakładki, ustawienia i historię przeglądania. Przy próbie zalogowania się na konto przypisane do innego profilu użytkownik otrzyma propozycję przełączenia się na ten profil. Jeśli użytkownik ma powiązanie z kilkoma profilami, będzie mógł wybrać preferowany profil. Możliwe jest także przypisanie różnym profilom własnych schematów kolorów, aby wizualnie odróżnić użytkowników.
    Wydanie Chrome 89
  • Włączono wyświetlanie miniaturek zawartości po najechaniu kursorem na karty na górnym pasku. Wcześniej podgląd zawartości kart był domyślnie wyłączony i wymagał zmiany ustawienia «chrome://flags/#tab-hover-cards».
    Wydanie Chrome 89
  • Dla części użytkowników włączono funkcję «Lista do przeczytania» (Reading List, «chrome://flags#read-later»). Po jej aktywowaniu kliknięcie gwiazdki w pasku adresu powoduje wyświetlenie obok przycisku «Dodaj zakładkę» drugiego przycisku «Dodaj do listy do przeczytania», a w prawym rogu paska zakładek pojawia się menu «Lista do przeczytania», w którym widoczne są wszystkie strony dodane wcześniej do listy. Po otwarciu strony z listy zostaje ona oznaczona jako przeczytana. Strony na liście można także ręcznie oznaczać jako przeczytane lub nieprzeczytane albo usuwać z listy.
    Wydanie Chrome 89
  • Użytkownicy zalogowani na konto Google, ale bez włączonej synchronizacji Chrome Sync, otrzymali dostęp do metod płatności i haseł zapisanych na koncie Google. Funkcja jest udostępniana części użytkowników i będzie stopniowo włączana dla pozostałych.
  • Włączono obsługę szybkiego wyszukiwania kart, która wcześniej wymagała aktywacji za pomocą flagi «chrome://flags/#enable-tab-search». Użytkownik może wyświetlić listę wszystkich otwartych kart i szybko odfiltrować potrzebną kartę, niezależnie od tego, czy znajduje się w bieżącym, czy w innym oknie.
    Wydanie Chrome 89
  • Dla wszystkich użytkowników wyłączono traktowanie wpisania pojedynczego słowa w pasku adresu jako próby otwarcia wewnętrznej witryny. Wcześniej po wpisaniu jednego słowa przeglądarka najpierw próbowała sprawdzić w DNS, czy istnieje host o takiej nazwie, zakładając, że użytkownik chce otworzyć subdomenę, a dopiero potem przekazywała zapytanie do wyszukiwarki. W efekcie właściciel serwera DNS wskazanego w ustawieniach użytkownika otrzymywał informacje o jednowyrazowych zapytaniach wyszukiwania, co uznano za naruszenie prywatności. Dla firm korzystających z hostów internetowych bez subdomeny (na przykład „https://helpdesk/”) udostępniono opcję przywrócenia poprzedniego działania.
  • Udostępniono możliwość przypięcia określonej wersji rozszerzenia lub aplikacji. Na przykład, aby w firmie korzystać wyłącznie ze sprawdzonych rozszerzeń, administrator może za pomocą nowej polityki ExtensionSettings skonfigurować Chrome tak, aby używał własnego URL do pobierania aktualizacji zamiast URL wskazanego w manifeście rozszerzenia.
  • W systemach x86 do działania przeglądarki wymagana jest teraz obsługa instrukcji SSE3 przez procesor. Instrukcje te są obsługiwane przez procesory Intel od 2003 roku, a przez AMD od 2005 roku.
  • Dodano dodatkowe API, których celem jest zapewnienie funkcjonalności mogącej zastąpić pliki cookie firm trzecich używane do śledzenia aktywności użytkownika między witrynami w kodzie sieci reklamowych, widżetów mediów społecznościowych i systemów analityki webowej. Do testów udostępniono następujące API:
    • Trust Token do rozróżniania użytkowników bez użycia identyfikatorów między witrynami.
    • First party sets — pozwala powiązanym domenom zadeklarować wspólną relację, aby przeglądarka mogła uwzględniać to powiązanie przy odwołaniach między witrynami.
    • Schemeful Same-Site rozszerza pojęcie same-site na różne schematy URL, tzn. http://website.example i https://website.examplе będą traktowane jako jedna witryna przy żądaniach między witrynami.
    • Floc do określania kategorii zainteresowań użytkownika bez indywidualnej identyfikacji i bez powiązania z historią odwiedzin konkretnych witryn.
    • Conversion Measurement do oceny aktywności użytkownika po przejściu z reklamy.
    • User-Agent Client Hints do zastąpienia User-Agent oraz selektywnego udostępniania danych o określonych parametrach przeglądarki i systemu (wersja, platforma itp.).
  • Dodano API Serial, które umożliwia stronom internetowym odczyt i zapis danych przez port szeregowy. Jako uzasadnienie wprowadzenia tego API wskazuje się możliwość tworzenia aplikacji webowych do bezpośredniego sterowania urządzeniami takimi jak mikrokontrolery i drukarki 3D. Uzyskanie dostępu do urządzenia peryferyjnego wymaga wyraźnego potwierdzenia uprawnień przez użytkownika.
  • Dodano API WebHID do niskopoziomowego dostępu do urządzeń HID (Human Interface Device, klawiatury, myszy, gamepady, panele dotykowe), które pozwala zaimplementować logikę obsługi urządzenia HID w JavaScript i umożliwia pracę z rzadkimi urządzeniami HID bez obecności w systemie specyficznych sterowników. Nowe API jest przede wszystkim ukierunkowane na zapewnienie obsługi gamepadów.
  • Dodano API Web NFC, które pozwala aplikacjom webowym odczytywać i zapisywać tagi NFC. Wśród przykładów zastosowania nowego API w aplikacjach webowych wymienia się udostępnianie informacji o eksponatach muzealnych, prowadzenie inwentaryzacji, pobieranie danych z identyfikatorów uczestników konferencji itp. Wysyłanie i skanowanie tagów odbywa się za pomocą obiektów NDEFWriter i NDEFReader.
  • API Web Share (obiekt navigator.share) wykracza poza urządzenia mobilne i jest teraz dostępne także dla użytkowników przeglądarek desktopowych (na razie tylko dla Windows i Chrome OS). API Web Share udostępnia narzędzia do udostępniania informacji w mediach społecznościowych, na przykład pozwala wygenerować ujednolicony przycisk publikacji w serwisach społecznościowych używanych przez odwiedzającego lub zorganizować przesyłanie danych do innych aplikacji.
  • W wersjach dla Androida oraz w komponencie WebView włączono obsługę dekodowania obrazów w formacie AVIF (AV1 Image Format), który wykorzystuje technologie kompresji wewnątrzklatkowej z formatu kodowania wideo AV1 (w wersjach desktopowych obsługa AVIF została włączona już w Chrome 85). Kontener do dystrybucji skompresowanych danych w AVIF jest w pełni analogiczny do HEIF. AVIF obsługuje zarówno obrazy w HDR (High Dynamic Range) i przestrzeni barw Wide-gamut, jak i w standardowym zakresie dynamiki (SDR).
  • Dodano nowe Reporting API do pobierania informacji o naruszeniach zasad bezpiecznego użytkowania na stronie operacji uprzywilejowanych, określonych przez nagłówek COOP (Cross-Origin-Opener-Policy), które pozwala również przełączyć COOP w tryb debugowania działający bez blokowania naruszeń zasad.
  • Dodano funkcję performance.measureUserAgentSpecificMemory(), która określa ilość pamięci zużywanej podczas przetwarzania strony.
  • Aby spełnić wymagania standardu web, wszystkie adresy URL „data:” są teraz traktowane jako potencjalnie godne zaufania, czyli stanowią część bezpiecznego kontekstu.
  • Do API Streams dodano obsługę strumieni bajtów (Byte Streams), które są specjalnie zoptymalizowane pod kątem wydajnego przesyłania dowolnych zestawów bajtów i minimalizują liczbę operacji kopiowania danych. Wyjście strumienia można zapisać do takich prymitywów jak ciągi znaków lub ArrayBuffer.
  • W elementach SVG zaimplementowano obsługę pełnej składni właściwości „filter”, co pozwala jednocześnie stosować do elementów SVG i innych niż SVG takie funkcje filtrowania jak blur(), sepia() i grayscale().
  • W CSS zaimplementowano pseudo-element „::target-text”, którego można używać do wyróżniania fragmentu, do którego nastąpiło przejście przez tekst (scroll-to-text), innym stylem niż ten stosowany przez przeglądarkę do podświetlania znalezionego tekstu.
  • Dodano właściwości CSS do zarządzania zaokrągleniem rogów: border-start-start-radius, border-start-end-radius, border-end-start-radius, border-end-end-radius.
  • Dodano właściwość CSS forced-colors do określenia, czy przeglądarka stosuje na stronie określoną przez użytkownika ograniczoną paletę kolorów.
  • Dodano właściwość CSS forced-color-adjust, która pozwala na wyłączenie przymusowego ograniczenia kolorów dla poszczególnych elementów, pozostawiając pełną kontrolę nad kolorami przez CSS.
  • W JavaScript dopuszczono użycie słowa kluczowego await na najwyższym poziomie w modułach, co pozwala płynniej integrować wywołania asynchroniczne z procesem ładowania modułów i obyć się bez opakowywania ich w „async function”. Na przykład zamiast (async function() { await Promise.resolve(console.log(‘test’)); }()); teraz można pisać await Promise.resolve(console.log(‘test’));
  • W silniku JavaScript V8 przyspieszono wywoływanie funkcji w sytuacji, gdy liczba przekazanych argumentów nie odpowiada parametrom zdefiniowanym w funkcji. Przy rozbieżności liczby argumentów wydajność w trybie bez JIT wzrosła o 11.2%, a przy użyciu JIT TurboFan o 40%.
  • Wprowadzono dużą liczbę drobnych usprawnień w narzędziach dla web-developerów.

Oprócz nowości i poprawek błędów w nowej wersji usunięto 47 luk bezpieczeństwa. Wiele z nich wykryto podczas zautomatyzowanych testów z użyciem narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie ujawniono krytycznych problemów, które pozwalałyby obejść wszystkie warstwy zabezpieczeń przeglądarki i wykonać kod w systemie poza środowiskiem sandbox. Jednocześnie zaznaczono, że jedna z załatanych luk (CVE-2021-21166), związana z cyklem życia obiektów w podsystemie audio, miała charakter podatności 0-day i przed jej usunięciem była wykorzystywana w jednym z exploitów. W ramach programu nagród za wykrywanie luk bezpieczeństwa przy okazji bieżącego wydania firma Google wypłaciła 33 premie na łączną kwotę 61 000 dolarów amerykańskich (dwie premie po $10000, dwie premie po $7500, trzy premie po $5000, dwie premie po $3000, cztery po $1000 i dwie premie po $500). Wysokość 18 nagród nie została jeszcze określona.

Źródło: opennet.ru

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster