Firma Google wydanie przeglądarki internetowej . Jednocześnie stabilne wydanie projektu open source , będącego podstawą Chrome. Przeglądarka Chrome użyciem logotypów Google, systemem powiadamiania w przypadku awarii, możliwością pobierania modułu Flash na żądanie, modułami do odtwarzania chronionych treści wideo (DRM), systemem automatycznego instalowania aktualizacji oraz przekazami w trakcie wyszukiwania . Następna wersja Chrome 85 zaplanowana jest na 25 sierpnia.
:
- wsparcie dla protokołów TLS 1.0 i TLS 1.1. Aby uzyskać dostęp do stron internetowych za pośrednictwem bezpiecznego kanału, serwer musi zapewnić wsparcie co najmniej dla TLS 1.2, w przeciwnym razie przeglądarka teraz wyświetli błąd. Z danych Google wynika, że obecnie około 0,5% ładowania stron internetowych wciąż odbywa się z użyciem przestarzałych wersji TLS. Wyłączenie wykonano zgodnie z IETF (Internet Engineering Task Force). Powodem rezygnacji z TLS 1.0/1.1 jest brak wsparcia nowoczesnych szyfrów (np. ECDHE i AEAD) i wymóg wsparcia starszych szyfrów, których bezpieczeństwo na obecnym etapie rozwoju technologii informatycznej budzi wątpliwości (np. wymaga się wsparcia TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, do weryfikacji integralności i autoryzacji używa się MD5 i SHA-1). Ustawienie umożliwiające przywrócenie TLS 1.0/1.1 będzie utrzymywane do stycznia 2021 roku.
- zapewniono blokowanie (bez szyfrowania) plików wykonywalnych i dodano wyświetlanie ostrzeżeń przy niebezpiecznym ładowaniu archiwów. W przyszłości stopniowo planuje się całkowite zaprzestanie wsparcia dla ładowania plików bez zastosowania szyfrowania. Blokada została wprowadzona, ponieważ ładowanie plików bez szyfrowania może być wykorzystane do dokonywania złośliwych działań poprzez modyfikację treści w trakcie ataków typu MITM.
- początkowe wsparcie , rozwijane jako alternatywa dla nagłówka User-Agent. Mechanizm Client Hints oferuje w zamian za User-Agent szereg nagłówków „Sec-CH-UA-*”, które pozwalają na selektywne dostarczanie danych na temat konkretnych parametrów przeglądarki i systemu (wersja, platforma itd.) tylko po wywołaniu przez serwer. Użytkownik ma możliwość określenia, które parametry są dozwolone do przekazania i selektywnego udostępniania takich informacji właścicielom stron internetowych. Przy użyciu Client Hints identyfikator nie jest przesyłany domyślnie bez wyraźnego zapytania, co uniemożliwia przeprowadzenie pasywnej identyfikacji (domyślnie wskazywana jest tylko nazwa przeglądarki). w do przyszłego roku.
- aktywację
bardziej rygorystyczne przekazywania ciasteczek między stronami, które zostało ze względu na COVID-19. Dla zapytań nie-HTTPS przetwarzanie zewnętrznych plików cookie ustawionych podczas kontaktu z witrynami innymi niż domena bieżącej strony jest zabronione. Takie pliki cookie stosowane są do śledzenia ruchu użytkownika między witrynami w kodzie sieci reklamowych, widgetów mediów społecznościowych i systemów analityki webowej.Przypominamy, że do zarządzania przesyłaniem plików cookie wykorzystywany jest określony w nagłówku Set-Cookie atrybut SameSite, który domyślnie będzie ustawiony na wartość „SameSite=Lax”, ograniczającą wysyłanie plików cookie dla międzystronnych sub-zapytań, takich jak żądania obrazów czy ładowanie treści przez iframe z innej witryny. Witryny mogą nadpisać domyślny tryb SameSite, wyraźnie ustawiając podczas ustawiania plików cookie wartość SameSite=None. Przy tym wartość SameSite=None dla plików cookie może być ustawiana tylko w trybie Secure (dotyczy połączeń przez HTTPS). Zmiana będzie wprowadzana stopniowo, najpierw dla niewielkiego procentu użytkowników, a następnie sukcesywnie rozszerzając zasięg.
- Dodano eksperymentalną implementację , który można aktywować za pomocą ustawienia „chrome://flags/#enable-heavy-ad-intervention”. Bloker automatycznie wyłącza reklamowe bloki iframe po przekroczeniu progów wartości ruchu i obciążenia CPU. Blokada zadziała, jeśli w głównym wątku wykorzystano ponad 60 sekund czasu procesora łącznie lub 15 sekund w 30-sekundowym interwale (zużywa 50% zasobów przez ponad 30 sekund), a także gdy załadowano więcej niż 4 MB danych przez sieć.
Blokada zadziała tylko wtedy, gdy przed przekroczeniem limitów użytkownik nie wchodził w interakcje z reklamy (na przykład, nie klikał na nie), co z uwagi na ograniczenie ruchu pozwoli zablokować automatyczne odtwarzanie zasobnych filmów reklamowych bez wyraźnej aktywacji odtwarzania przez użytkownika. Proponowane środki uwolnią użytkowników od reklam z nieskuteczną implementacją kodu lub zamierzoną pasożytniczą aktywnością (na przykład, wykonującą kopanie). Według statystyki Google, reklamy które mieszczą się w kryteriach blokady stanowią zaledwie 0.30% wszystkich bloków reklamowych, jednak te reklamy zużywają 28% zasobów CPU i 27% ruchu z całkowitej ilości reklam.
- Przeprowadzono prace nad zmniejszeniem zużycia zasobów CPU, gdy okno przeglą darki nie znajduje się w polu widzenia użytkownika. Chrome teraz sprawdza, czy okno przeglą darki jest zasłonięte przez inne okna i wyklucza renderowanie pikseli w obszarach nakładania. Włączenie nowej funkcji będzie odbywać się stopniowo: optymalizacja będzie włączona dla niektórych użytkowników w Chrome 84, a dla pozostałych w Chrome 85.
- Włączona domyślnie ochrona przed , takimi jak spamowe prośby o powiadomienia push. Ponieważ takie prośby przerywają pracę użytkownika i odwracają uwagę od działań w oknach dialogowych potwierdzających, zamiast osobnego okna dialogowego, w pasku adresu będzie wyświetlana informacyjna wskazówka, która nie wymaga działań od użytkownika i ostrzega o zablokowaniu prośby o uprawnienia, która automatycznie zwija się w wskaźnik z obrazkiem przekreślonego dzwonka. Klikając na wskaźnik, można w dowolnym momencie aktywować lub odrzucić żądane uprawnienie.
- Zapewniono zapamiętywanie wyboru użytkownika przy otwieraniu obsługiwaczy zewnętrznych protokołów – użytkownik może wybrać „zawsze zezwól dla tej strony” dla określonego obsługiwacza, a przeglądarka zapamięta tę decyzję w powiązaniu z aktualną stroną.
- Dodano ochronę przed zmianą ustawień użytkownika bez jego wyraźnej zgody. Jeśli rozszerzenie zmieni proponowaną domyślną wyszukiwarkę lub stronę wyświetlaną w nowej karcie, przeglądarka teraz wyświetli okno dialogowe z propozycją potwierdzenia danej operacji lub anulowania zmiany.
- wdrażanie ochrony przed ładowaniem mieszanej zawartości multimedialnej (gdy na stronie HTTPS ładowane są zasoby z protokołu http://). Na stronach otwartych w HTTPS, teraz automatycznie będą zamieniane linki „http://” na „https://” w blokach związanych z ładowaniem obrazów (wcześniej zamienione zostały skrypty i iframe, automatyczna zamiana dźwięków i wideo oczekiwana jest w następnym wydaniu). Jeśli obraz nie jest dostępny przez https, jego ładowanie jest blokowane (ręcznie można zaznaczyć blokadę przez menu dostępne przez symbol kłódki w pasku adresu).
- Dodano wsparcie dla API (rozwinęło się jako SMS Receiver API), umożliwiające organizację wprowadzenia jednorazowego hasła na stronie internetowej po otrzymaniu wiadomości SMS z kodem potwierdzającym, dostarczonej na inteligentny telefon z systemem Android użytkownika, na którym uruchomiona jest przeglądarka. Potwierdzenie za pomocą SMS, na przykład, może być używane do weryfikacji numeru telefonu podanego przez użytkownika podczas rejestracji. Jeśli wcześniej użytkownik musiał otworzyć aplikację do obsługi SMS, skopiować kod do schowka, wrócić do przeglądarki i wkleić ten kod, nowy API pozwala zautomatyzować ten proces i zredukować go do jednego dotknięcia.
- Rozszerzone API
do zarządzania odtwarzaniem animacji w sieci. Nowa edycja wprowadza wsparcie dla operacji kompozycji, pozwalający kontrolować, jak efekty są łączone oraz dostarczający nowe wywołania wyzwalane przy zdarzeniach zastępowania treści. API Animacji Web teraz również wspiera Promise do określenia sekwencji wyświetlania animacji i lepszego zarządzania tym, jak animacja współdziała z innymi możliwościami aplikacji. - 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.
- API do dostępu Service worker do HTTP Cookies, stanowiąc asynchroniczną alternatywę dla zastosowania document.cookie.
- API do określenia nieaktywności użytkownika, pozwalające określić czas, w którym użytkownik nie wchodzi w interakcję z klawiaturą/myszką, działa ekran wygaszacza, ekran jest zablokowany lub praca jest wykonywana na innym monitorze. Informowanie aplikacji o nieaktywności odbywa się poprzez wysyłanie powiadomienia po osiągnięciu określonego progu nieaktywności.
- Tryb , pozwala deweloperowi na stosowanie pełniejszej izolacji przetwarzania treści w osobnym procesie w odniesieniu do źródła (origin — domena + port + protokół), a nie do witryny, kosztem zaprzestania wsparcia dla niektórych przestarzałych możliwości, takich jak synchroniczne wykonywanie skryptów używających document.domain oraz wywoływanie postMessage() do wysyłania wiadomości do instancji WebAssembly.Module. Innymi słowy, Izolacja Źródła umożliwia zorganizowanie podziału na różne procesy na podstawie domeny zasobu, a nie witryny ze wszystkimi obcymi inkluzjami na stronach.
- API do wykorzystania wektoryzowanych instrukcji SIMD w aplikacjach w formacie WebAssembly. Aby zapewnić niezależność od platformy, wprowadzono nowy 128-bitowy typ, który może reprezentować różne typy pakowanych danych oraz kilka podstawowych operacji wektoryzowanych do przetwarzania pakowanych danych. SIMD pozwala na zwiększenie wydajności poprzez równoległe przetwarzanie danych i będzie użyteczny podczas kompilacji natywnego kodu do WebAssembly. Aby włączyć obsługę SIMD, można użyć ustawienia „chrome://flags/#enable-webassembly-simd”.
- Został ustabilizowany i jest teraz dystrybuowany poza Origin Trials
API , dostarczającego metadane o treści, która wcześniej była buforowana przez aplikacje webowe działające w trybie Progressive Web Apps (PWA). Aplikacja może przechowywać po stronie przeglądarki różne dane, w tym obrazy, filmy i artykuły, a przy utracie połączenia sieciowego wykorzystać je za pomocą API Cache Storage i IndexedDB. API Indeksowania Treści umożliwia dodawanie, znajdowanie i usuwanie podobnych zasobów. W przeglądarce API to jest już używane do wyliczania listy stron i danych multimedialnych dostępnych do przeglądania offline. - Ustabilizowana wersja API oparty na mechanizmie Promise, który zapewnia bezpieczniejszy sposób zarządzania wyłączeniem automatycznej blokady ekranu oraz przełączaniem urządzeń w tryb oszczędzania energii.
- W wersji na platformę Android wsparcie dla skrótów aplikacji, które umożliwiają szybki dostęp do popularnych typowych działań w aplikacji. Aby stworzyć skróty, wystarczy dodać elementy do manifestu aplikacji webowej w formacie PWA (Progressive Web Apps).
- Dla Web Worker zezwolono na użycie API , które pozwala określić handler do generowania raportu wywoływanego przy dostępie do przestarzałych funkcji. Wygenerowany raport na życzenie użytkownika można zapisać, wysłać na serwer lub przetworzyć za pomocą skryptu JavaScript.
- Zaktualizowane API , który umożliwia podłączenie handlera, któremu będą przesyłane powiadomienia o zmianie rozmiaru wskazanych elementów na stronie. W ResizeObserverEntry dodano trzy nowe właściwości: contentBoxSize, borderBoxSize i devicePixelContentBoxSize, aby uzyskać bardziej szczegółowe informacje wydawane w formie tablicy obiektów ResizeObserverSize.
- Dodano słowo kluczowe „” do resetowania stylu elementu do wartości domyślnej.
- Usunięto prefiks CSS dla właściwości „-webkit-appearance” i „-webkit-ruby-position”, które są teraz dostępne jako „” i „«.
- W JavaScript wsparcie oznaczania metod i właściwości klasy jako prywatnych, co sprawi, że dostęp do nich będzie możliwy tylko wewnątrz klasy (wcześniej mogły być prywatne tylko pola). Aby oznaczyć metody i właściwości jako prywatne, należy przed nazwą pola znak „#”.
- W JavaScript wsparcie (weak reference) do obiektów JavaScript, które pozwalają zachować odniesienie do obiektu, ale nie blokują usunięcia powiązanego obiektu przez zbieracz śmieci. Dodano również wsparcie dla finalizatorów, które umożliwiają określenie obsługi, wywoływanej po zakończeniu zbierania śmieci danego obiektu.
- Przyspieszono uruchamianie aplikacji na WebAssembly dzięki implementacji w początkowym (baseline) kompilatorze Liftoff. i . Ulepszono narzędzia do debugowania WebAssembly, znacznie zwiększono wydajność debugowania przy użyciu punktów przerwania (wcześniej do debugowania używano interpreter, a teraz kompilator Liftoff).
- W narzędziach dla deweloperów webowych zaktualizowano panel do analizy wydajności. Dodano ogólne informacje o metryce (Total Blocking Time), która pokazuje, jak długo strona wydaje się dostępna, ale w rzeczywistości nie jest dostępna (tj. strona jest już renderowana, ale wciąż blokuje wykonywanie głównego wątku i niemożliwe jest wprowadzanie danych). Dodano nową sekcję Experience do analizy metryki. (Cumulative Layout Shift), odzwierciedlającej wizualną stabilność zawartości. W panelu inspekcji stylów CSS wprowadzono podgląd obrazów określonych przez właściwość „background-image”.
Oprócz wprowadzenia nowości i poprawy błędów w nowej wersji usunięto . Wiele luk zostało wykrytych w wyniku automatycznego testowania narzędziami , , , i . Jeden problem (CVE-2020-6510, przepełnienie bufora w obsłudze operacji w tle fetch) oznaczony jako krytyczny, tzn. pozwala na obejście wszystkich poziomów zabezpieczeń przeglądarki i wykonanie kodu w systemie poza środowiskiem sandbox. W ramach programu wypłaty nagród za odkrywanie luk w zabezpieczeniach w bieżącej wersji, firma Google wypłaciła 26 nagród o łącznej wartości 21500 dolarów (dwie nagrody po 5000 dolarów, dwie nagrody po 3000 dolarów, jedna nagroda na 2000 dolarów, dwie nagrody po 1000 dolarów i trzy nagrody po 500 dolarów). Wartość 16 nagród nie została jeszcze określona.
Źródło: opennet.ru
