Chrome wersja 85

Google представила wydanie przeglądarki internetowej Chrome 85... Jednocześnie dostępny stabilne wydanie darmowego projektu chrom, który jest podstawą Chrome. Przeglądarka Chrome inny korzystanie z logo Google, obecność systemu wysyłania powiadomień w przypadku awarii, możliwość pobrania modułu Flash na żądanie, modułów do odtwarzania chronionych treści wideo (DRM), systemu automatycznej aktualizacji i transmisji w wyszukiwarce Parametry RLZ. Następną wersję przeglądarki Chrome 86 zaplanowano na 6 października.

Głównym zmiany в Chrom 85:

  • Dodany możliwość zwijania grup zakładek. Karty są pogrupowane za pomocą menu kontekstowego i można je powiązać z określonym kolorem i etykietą. Po kliknięciu etykiety grupy powiązane karty są teraz ukryte, a zamiast nich pozostaje pojedyncza etykieta. Ponowne kliknięcie etykiety usuwa funkcję ukrywania.

    Chrome wersja 85

    Chrome wersja 85

  • Zaimplementowano podgląd zawartości zakładek. Najechanie kursorem na przycisk karty wyświetla teraz miniaturę strony na karcie. Ta funkcja nie została jeszcze aktywowana dla wszystkich użytkowników i można ją włączyć za pomocą ustawienia „chrome://flags/#tab-hover-cards”.

    Chrome wersja 85

  • Dodano możliwość zapisywania edytowanych formularzy PDF, a także sugerowane ustawienia „chrome://flags#pdf-viewer-update” i „chrome://flags/#pdf-two-up-view” do eksperymentowania nowy interfejs przeglądanie dokumentów PDF.
  • Dodano możliwość wymiany linków za pomocą kodów QR. Aby wygenerować kod QR dla bieżącej strony, w pasku adresu umieszczana jest specjalna ikona, która pojawia się po kliknięciu w pasek adresu. Ta funkcja nie została jeszcze aktywowana dla wszystkich użytkowników i można ją włączyć za pomocą ustawienia „chrome://flags/#sharing-qr-code-generator”.

    Chrome wersja 85

  • Strona about:flags ma teraz opcję „Ukryj ścieżkę URL, zapytanie i ref w interfejsie Omnibox w stanie stałym” („chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and- ref-o-interakcji"), pozwalać wyłącz wyświetlanie elementów ścieżki i parametrów zapytania w pasku adresu, pozostawiając widoczną tylko domenę witryny. Ukrywanie następuje w momencie rozpoczęcia interakcji ze stroną (pełny adres URL jest wyświetlany podczas ładowania i do momentu rozpoczęcia przewijania przez użytkownika). Po ukryciu zostaniesz poproszony o kliknięcie paska adresu, aby wyświetlić pełny adres URL. Istnieje również opcja „chrome://flags#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover”, aby wyświetlić pełny adres URL po najechaniu kursorem. Opcja „Zawsze pokazuj pełny adres URL” dostępna w menu kontekstowym anuluje ukrywanie „https://”, „www.”, ścieżek i parametrów. Domyślnie ukrywanie jest obecnie włączone tylko dla niewielkiego odsetka użytkowników. Jako motywację zmiany podaje się chęć ochrony użytkowników przed oszustwami typu phishing manipulującymi parametrami w adresie URL.
    Chrome wersja 85

  • W trybie tabletu urządzenia z ekranem dotykowym umożliwiają poziomą nawigację po otwartych kartach, która oprócz tytułów kart wyświetla duże miniatury stron powiązanych z kartami. Karty można przenosić i zmieniać ich kolejność za pomocą gestów ekranowych. Wyświetlanie miniaturek włącza się i wyłącza specjalnym przyciskiem znajdującym się obok paska adresu i awatara użytkownika. Aby wyłączyć ten tryb, dostępne są ustawienia „chrome://flags/#webui-tab-strip” i „chrome://flags/#scrollable-tabstrip”.

    Chrome wersja 85

  • W wersji na Androida po wpisaniu w pasku adresu listy sugerowanych stron pojawia się podpowiedź umożliwiająca szybkie przejście do już otwartych zakładek.
    Chrome wersja 85

  • W wersji na Androida, w menu kontekstowym linków, które pojawia się po długim naciśnięciu linku, dodany tagi do wyróżniania szybkich stron. Prędkość jest określana na podstawie metryk Podstawowe wskaźniki internetowe, biorąc pod uwagę zbiorcze wskaźniki czasu ładowania, responsywności i stabilności treści.
    Chrome wersja 85

  • Zapewnione blokowanie niebezpieczny rozruch (bez szyfrowania) plików wykonywalnych i dodano ostrzeżenia o niebezpiecznym pobieraniu archiwów (zip, iso itp.). W następnej wersji spodziewamy się zablokować archiwa i wyświetlić ostrzeżenie w przypadku dokumentów (docx, pdf itp.). W przyszłości planowane jest stopniowe zaprzestanie obsługi przesyłania plików bez szyfrowania. Blokowanie jest realizowane, ponieważ pobieranie plików bez szyfrowania może zostać wykorzystane do wykonywania złośliwych działań poprzez zamianę zawartości podczas ataków MITM.
  • Domyślnie włączona jest obsługa formatu obrazu AVIF (AV1 Image Format), który wykorzystuje technologie kompresji wewnątrzklatkowej z formatu kodowania wideo AV1. Kontener do dystrybucji skompresowanych danych w AVIF jest całkowicie podobny do HEIF. AVIF obsługuje zarówno obrazy w HDR (High Dynamic Range) i szerokiej gamie kolorów, jak i w standardowym zakresie dynamiki (SDR).
  • Podczas domyślnego kompilowania zestawów dla systemów Windows i macOS podczas wywoływania kompilatorów MSVC i Clang w zestawie optymalizacja w oparciu o wyniki profilowania kodu (PGO - Profile-guided optymalizacja), która pozwala wygenerować bardziej optymalny kod na podstawie analizy cech wykonania programu. Włączenie PGO umożliwiło przyspieszenie ładowania zakładek o około 10% (przyspieszenie testu prędkościomierza 2.0 na macOS o 7.7%, a na Windows o 11.4%). Responsywność interfejsu wzrosła w systemie macOS o 3.9%, a w Windows o 7.3%.
  • Dodano tryb eksperymentalny ograniczający aktywność kart w tle („Tab Throttling”), dostępny poprzez ustawienie „chrome://flags##intensive-wake-up-throttling” (oczekuje się, że będzie domyślnie włączony w przeglądarce Chrome 86). Gdy ten tryb jest włączony, przeniesienie kontroli na karty w tle (TaskQueues) jest ograniczone do 1 połączenia na minutę, jeśli strona znajduje się w tle dłużej niż 5 minut.
  • Dla wszystkich kategorii użytkowników tryb zmniejszania zużycia zasobów procesora jest aktywowany, gdy okno przeglądarki nie znajduje się w polu widzenia użytkownika. Chrome sprawdza, czy okno przeglądarki nie pokrywa się z innymi oknami i zapobiega rysowaniu pikseli w obszarach nakładania się.
  • Wzmocniony zabezpieczenie przed ładowaniem mieszanych treści multimedialnych (przy ładowaniu zasobów na stronę HTTPS poprzez protokół http://). Na stronach otwieranych poprzez HTTPS zaimplementowano automatyczną zamianę linków „http://” na „https://” w blokach związanych z ładowaniem obrazów (wcześniej zastępowane były skrypty i ramki iframe, pliki dźwiękowe i wideo). Jeżeli obraz nie jest dostępny poprzez https, to jego pobranie zostaje zablokowane (można ręcznie zaznaczyć blokadę poprzez menu dostępne po symbolu kłódki w pasku adresu).
  • W przypadku certyfikatów TLS wydanych od 1 września 2020 r. wola obowiązywać będzie nowe ograniczenie okresu ważności – ważność tych certyfikatów nie może przekroczyć 398 dni (13 miesięcy). Podobne ograniczenia obowiązują w przeglądarkach Firefox i Safari. W przypadku certyfikatów otrzymanych przed 1 września zaufanie zostanie utrzymane, ale ograniczone do 825 dni (2.2 roku).
  • Do trybu Origin Trials dodano kilka nowych interfejsów API (funkcje eksperymentalne wymagające oddzielnej aktywacji). Origin Trial oznacza możliwość pracy z określonym API z aplikacji pobranych z localhost lub 127.0.0.1 lub po zarejestrowaniu i otrzymaniu specjalnego tokena, który jest ważny przez ograniczony czas dla określonej witryny.
    • Zasugerował koncepcja portale aby zapewnić płynną nawigację między witrynami i wstawić jedną stronę do drugiej, aby wyświetlić podgląd zawartości przed przeniesieniem. Zaproponowano nowy tag , który umożliwia wyświetlenie kolejnej strony w formie wkładki, po zaznaczeniu, strona pokazana we wkładce zostanie przeniesiona do stanu dokumentu głównego, po którym dozwolona jest nawigacja. W przeciwieństwie do ramki iframe wstawka jest całkowicie odizolowana od strony źródłowej i traktowana jako oddzielny dokument.
    • API Pobierz przesyłanie strumieniowe, która umożliwia pobieranie żądań w celu załadowania treści w postaci strumienia Czytelny strumień (wcześniej żądanie wymagało pełnej gotowości treści, teraz możesz rozpocząć wysyłanie danych w postaci strumienia, nie czekając, aż treść żądania będzie w pełni gotowa). Na przykład aplikacja internetowa może rozpocząć wysyłanie danych z formularza internetowego, gdy tylko użytkownik zacznie wpisywać dane w polu wejściowym, a po zakończeniu wpisywania dane zostaną przesłane za pomocą funkcji fetch(). Między innymi za pośrednictwem nowego API można przesyłać dane audio i wideo generowane po stronie klienta.
    • Zaproponowano API Deklaratywny cień DOM aby utworzyć nowe gałęzie główne w Cień DOM, na przykład w celu oddzielenia zaimportowanego stylu elementu innej firmy i powiązanego z nim podświetlenia DOM od dokumentu głównego. Proponowane deklaratywne API pozwala na odpinanie gałęzi DOM za pomocą wyłącznie HTML, bez konieczności pisania kodu JavaScript.
    • Dodana właściwość RTCRtpEncodingParameters.adaptivePtime, co pozwala nadawcy strumieni RTC (komunikacja w czasie rzeczywistym) kontrolować aktywację adaptacyjnego mechanizmu wysyłania pakietów.
    • Łatwiej jest zapewnić trwałe miejsce do przechowywania już zainstalowanych PWA (progresywnych aplikacji internetowych) i TWA (zaufanych działań internetowych)
      Aplikacja musi jedynie wywołać metodę navigator.storage.persist() i Pamięć trwała zostaną dostarczone automatycznie.

  • Zaimplementowano nową regułę CSS @nieruchomość, umożliwiając rejestrację niestandardowe właściwości CSS z dziedziczeniem, sprawdzaniem typów i wartościami domyślnymi. Akcja @property jest taka sama jak dodana wcześniej metoda RegisterProperty().
  • W przypadku systemów z systemem operacyjnym Windows możliwe jest zastosowanie tej metody pobierzInstalledRelatedApps() w celu określenia instalacji aplikacji PWA. Wcześniej ta metoda działała tylko na platformie Android.
  • Obsługa komputerów stacjonarnych jest już dostępna skróty do aplikacji, dzięki czemu możesz zapewnić szybki dostęp do popularnych standardowych akcji w aplikacji. Aby utworzyć skróty, wystarczy dodać elementy do manifestu aplikacji internetowej w formacie PWA (Progressive Web Apps). Wcześniej skróty do aplikacji były dostępne tylko na platformie Android.
  • Dodano właściwość CSS widoczność treści do kontrolowania widoczności treści w celu optymalizacji renderowania. Po ustawieniu opcji „auto” widoczność jest określana przez przeglądarkę na podstawie bliskości elementu do granicy widocznego obszaru. Wartość „ukryta” pozwala całkowicie kontrolować wyświetlanie elementu ze skryptów.
  • Dodano właściwość CSS zestaw przeciwny aby ustawić konkretną wartość dla istniejących liczników. Nowa właściwość CSS uzupełnia dostępne wcześniej właściwości licznika resetowania i licznika przyrostu, które służą do tworzenia nowego licznika lub zwiększania istniejącego.
  • Dodano właściwość CSS „strona”, aby odzwierciedlać stronę po wydrukowaniu, a także właściwość „orientacja strony”, aby uzyskać informacje o orientacji strony („pionowo”, „obróć w lewo” i „obróć w prawo”). Zaimplementowano obsługę dostępu do stron po nazwie, na przykład „@page foobar {}”.
  • Zaimplementowano API Czas wydarzenia do pomiaru opóźnień zdarzeń przed i po załadowaniu strony.
  • Zdarzenie Leavepictureinpicture przekazuje teraz odwołanie do PictureInPictureWindow, aby uzyskać dostęp do okna w trybie Obraz w obrazie.
  • Podczas wypełniania nagłówka strony odsyłającej, teraz jest to wartość domyślna stosowany reguła strict-origin-when-cross-origin (wyślij obciętą stronę odsyłającą do innych hostów, z których ładowane są zasoby) zamiast reguły no-referrer-when-downgrade (strona odsyłająca nie jest wypełniana podczas uzyskiwania dostępu z HTTPS do HTTP, ale jest wysyłana podczas ładowania zasoby przez HTTPS).
  • W interfejsie API WebAuthn proponowane nowe metody getPublicKey(), getPublicKeyAlgorithm() i getAuthenticatorData().
  • W WebAssembly dodany Obsługa importowania i eksportowania 64-bitowych parametrów funkcji całkowitych przy użyciu typu JavaScript BigInt.
  • WebAssembly implementuje rozszerzenie Wielowartościowy, pozwalać funkcje zwracają więcej niż jedną wartość.
  • Podstawowy kompilator Liftoff dla WebAssembly jest dostępny dla wszystkich architektur i platform, nie tylko systemów Intel. Kluczową różnicą pomiędzy Liftoff a wcześniej używanym kompilatorem TurboFan jest to, że celem Liftoff jest osiągnięcie jak największej szybkości początkowej kompilacji, kosztem niskiej wydajności wygenerowanego kodu. Liftoff jest znacznie prostszy niż TurboFan i bardzo szybko generuje gotowy do uruchomienia kod maszynowy, umożliwiając niemal natychmiastowe rozpoczęcie jego wykonywania, minimalizując opóźnienia kompilacji. Aby przyspieszyć tworzenie wersji roboczej kodu, równolegle przeprowadzana jest faza rekompilacji optymalizującej, która jest wykonywana przy użyciu kompilatora Turbofan. Gdy zoptymalizowane instrukcje maszynowe będą gotowe, wstępna wersja robocza zostanie zastąpiona szybszym kodem. W sumie, zmniejszając opóźnienie przed rozpoczęciem wykonywania, Liftoff zwiększył wydajność zestawu testów WebAssembly o około 20%.
  • W JavaScript dodany nowe operatory przypisania logicznego: "??=", "&&=" oraz "||=". Operator „x ??= y” wykonuje przypisanie tylko wtedy, gdy wartość „x” ma wartość null lub jest niezdefiniowana. Operator „x ||= y” wykonuje przypisanie tylko wtedy, gdy „x” ma wartość FAŁSZ, a „x &&= y” ma wartość PRAWDA.
  • Dodano metodę String.prototype.replaceAll(), która zwraca nowy ciąg znaków (oryginalny ciąg pozostaje niezmieniony), w którym wszystkie dopasowania są zastępowane na podstawie określonego wzorca. Wzorami mogą być proste maski lub wyrażenia regularne.
  • Zaimplementowano metodę Promise.any(), która zwraca pierwszą wypełnioną Promise z listy.
  • Wycofano manifest AppCache (technologia organizująca działanie aplikacji internetowej w trybie offline). Jako powód podaje się chęć pozbycia się jednego z wektorów ataków typu cross-site scripting. Zalecane jest używanie API zamiast AppCache Cache.
  • Transmisja plików cookie jest zabroniona w trybie SameSite=None dla połączeń bez szyfrowania. Atrybut SameSite jest określony w nagłówku Set-Cookie w celu kontrolowania transmisji plików cookie i domyślnie jest ustawiony na wartość „SameSite=Lax”, co ogranicza wysyłanie plików cookie w przypadku żądań podrzędnych między witrynami, takich jak żądanie obrazu lub ładowanie treści poprzez element iframe z innej witryny.
    Witryny mogą zastąpić domyślne zachowanie SameSite, jawnie ustawiając ustawienie Cookie na SameSite=None. Wartość SameSite=None dla Cookie można teraz ustawić tylko w trybie bezpiecznym, który obowiązuje w przypadku połączeń za pośrednictwem protokołu HTTPS.

  • W narzędziach dla twórców stron internetowych dodany obsługa edycji stylów tworzonych przez frameworki CSS-in-JS przy użyciu CSSOM API (CSS Object Model), a także stylów dodanych z JavaScript. Panel audytu zaktualizowany do wersji Latarnia morska 6.0, który dodaje nowe dane dotyczące największej zawartości treści (LCP), skumulowanego przesunięcia układu (CLS) i całkowitego czasu blokowania (TBT).

    Chrome wersja 85

  • Panel wydajności wyświetla informacje dot buforowanie wyników kompilacji JavaScript. Gdy użytkownik porusza się po stronie, skala pokazuje czas względem rozpoczęcia nawigacji, a nie rozpoczęcia nagrywania.

    Chrome wersja 85

Oprócz innowacji i poprawek błędów, nowa wersja eliminuje 20 luk w zabezpieczeniach. Wiele luk w zabezpieczeniach zostało zidentyfikowanych w wyniku zautomatyzowanych narzędzi testujących AdresSanitizer, Odkażacz do pamięci, Integralność przepływu sterowania, LibFuzzer и 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 odkrycie luk w bieżącej wersji Google wypłacił 14 nagród o wartości 10000 5000 dolarów (jedna nagroda 1000 dolarów, trzy nagrody po 500 dolarów i cztery nagrody po 6 dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz