Wydanie Chrome 85

Firma Google przedstawiła wydanie przeglądarki internetowej Chrome 85. Jednocześnie dostępne stabilne wydanie projektu open source Chromium, będącego podstawą Chrome. Przeglądarka Chrome wyróżnia się 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 parametrów RLZ. Kolejne wydanie Chrome 86 jest zaplanowane na 6 października.

Podstawowe zmiany do Chrome 85:

  • Dodano możliwością grupowania kart. Karty są łączone w grupy za pomocą menu kontekstowego i mogą być powiązane z określonym kolorem i etykietą. Po kliknięciu na etykietę grupy, powiązane karty są teraz ukrywane, a zamiast nich pozostaje jedna etykieta. Ponowne kliknięcie na etykietę przywraca ukrycie.

    Wydanie Chrome 85

    Wydanie Chrome 85
  • Zrealizowany podgląd zawartości kart. Po najechaniu kursorem na przycisk karty, wyświetlany jest miniaturowy widok strony znajdującej się na karcie. Funkcja jest obecnie aktywowana nie dla wszystkich użytkowników i można ją włączyć za pomocą ustawienia „chrome://flags/#tab-hover-cards”.

    Wydanie Chrome 85
  • Dodano możliwość zapisywania edytowanych formularzy PDF oraz zaproponowano ustawienia „chrome://flags#pdf-viewer-update” i „chrome://flags/#pdf-two-up-view” do eksperymentów z nowym interfejsem przeglądania 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 pojawia się specjalna ikona, która pojawia się po kliknięciu w pasek adresu. Funkcja jest obecnie aktywowana nie dla wszystkich użytkowników i można ją włączyć za pomocą ustawienia „chrome://flags/#sharing-qr-code-generator”.

    Wydanie Chrome 85
  • Na stronie about:flags pojawiła się opcja „Ukryj stałą ścieżkę URL w UI Omnibox, zapytanie i referencje” („chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and-ref-on-interaction”) pozwalająca wyłącz wyświetlanie elementów ścieżki i parametrów zapytania w pasku adresu, pozostawiając widoczny tylko domenę strony. Ukrywanie odbywa się na początku interakcji ze stroną (podczas ładowania i dopóki użytkownik nie zacznie przewijać, wyświetlany jest pełny adres URL). Po ukryciu, aby zobaczyć pełny adres URL, proponuje się kliknięcie na pasku adresu. Dostępna jest również opcja „chrome://flags#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover” do wyświetlania pełnego adresu URL po najechaniu kursorem. Ustawienie w menu kontekstowym „Zawsze pokazuj URL w całości” unieważnia ukrycie „https://”, „www.”, ścieżek i parametrów. Domyślnie ukrycie aktywowane jest tylko dla niewielkiego procenta użytkowników. Powodem zmiany podawanym jest chęć ochrony użytkowników przed phishingiem, manipulującym parametrami w URL.
    Wydanie Chrome 85
  • W trybie tabletowym dla urządzeń z ekranami dotykowymi włączona jest pozioma nawigacja po otwartych kartach, w której oprócz nagłówków na kartach wyświetlane są duże miniatury stron powiązanych z kartami. Karty można przenosić i przestawiać za pomocą gestów ekranowych. Wyświetlanie miniatur włącza się i wyłącza specjalnym przyciskiem, umieszczonym obok paska adresu i awatara użytkownika. Aby wyłączyć tryb, przewidziane są ustawienia „chrome://flags/#webui-tab-strip” i „chrome://flags/#scrollable-tabstrip”.

    Wydanie Chrome 85
  • W wersji na Androida podczas wpisywania w pasku adresu w liście sugerowanych stron zapewniono wyświetlanie podpowiedzi do szybkiego przejścia do już otwartych kart.
    Wydanie Chrome 85
  • W wersji dla Androida w menu kontekstowym linków, które pojawia się po długim naciśnięciu linku, dodano etykiety do wyróżnienia szybkich stron. Szybkość określa się na podstawie metryk Core Web Vitals, uwzględniających zbiorcze wskaźniki czasu ładowania, responsywności i stabilności zawartości.
    Wydanie Chrome 85
  • zapewniono blokowanie niebezpiecznego pobierania (bez szyfrowania) plików wykonywalnych oraz dodano wyświetlanie ostrzeżeń przy niebezpiecznym załadowaniu archiwów (zip, iso itp.). W następnym wydaniu przewiduje się blokadę archiwów i wyświetlanie ostrzeżenia dla dokumentów (docx, pdf itp.). W przyszłości stopniowo planowane jest całkowite zaprzestanie wsparcia dla przesyłania plików bez zastosowania szyfrowania. Blokada została wdrożona, ponieważ przesyłanie plików bez szyfrowania może być wykorzystywane do przeprowadzania złośliwych działań poprzez manipulację treścią w trakcie ataków MITM.
  • Wsparcie dla formatu obrazów AVIF (AV1 Image Format) jest domyślnie włączone, wykorzystując technologie kompresji intra-frame z formatu kodowania wideo AV1. 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 barwnej Wide-gamut, jak i w standardowym zakresie dynamicznym (SDR).
  • Podczas kompilacji pakietów dla systemów Windows i macOS domyślnie przy wywołaniach kompilatorów MSVC i Clang włączone optymalizacje oparte na wynikach profilowania kodu (PGO – Profile-guided optimization), które pozwalają generować bardziej optymalny kod na podstawie analizy cech wykonania programu. Włączenie PGO umożliwiło przyspieszenie ładowania zakładek o około 10% (przyspieszenie w teście Speedometer 2.0 na macOS o 7.7%, a na Windows o 11.4%). Responsywność interfejsu wzrosła w macOS o 3.9%, a w Windows o 7.3%.
  • Dodano eksperymentalny tryb ograniczania aktywności zakładek w tle („Tab Throttling”), dostępny poprzez ustawienie „chrome://flags##intensive-wake-up-throttling” (oczekiwane włączenie w Chrome 86). Po włączeniu trybu, przekazywanie kontroli do zakładek w tle (TaskQueues) ogranicza się do 1 wywołania na minutę, jeśli strona znajduje się w tle dłużej niż 5 minut.
  • Dla wszystkich kategorii użytkowników włączono tryb redukcji zużycia zasobów CPU, gdy okno przeglądarki nie znajduje się w polu widzenia użytkownika. Chrome sprawdza, czy okno przeglądarki nie jest zasłonięte przez inne okna i wyłącza renderowanie pikseli w obszarach nakładania.
  • Wzmocniono ochrona przed ładowaniem mieszanej zawartości multimedialnej (gdy na stronie HTTPS ładowane są zasoby przez protokół http://). Na stronach otwartych przez HTTPS realizowana jest automatyczna zamiana linków „http://” na „https://” w blokach związanych z ładowaniem obrazów (wcześniej zamienione były skrypty i iframe, pliki dźwiękowe i filmy). Jeśli obraz nie jest dostępny przez https, jego ładowanie jest zablokowane (ręcznie można zaznaczyć blokadę przez menu dostępne przez symbol kłódki w pasku adresu).
  • Do certyfikatów TLS wydanych od 1 września 2020 roku, będzie stosowane nowe ograniczenie dotyczące okresu ważności — czas życia tych certyfikatów nie może przekraczać 398 dni (13 miesięcy). Podobne ograniczenia wprowadzono w Firefox i Safari. Certyfikaty uzyskane przed 1 września zachowają zaufanie, ale będą ograniczone do 825 dni (2,2 roku).
  • 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.
    • Zapewniono koncept portalów w celu zapewnienia płynnej nawigacji między stronami i osadzenia jednej strony w drugiej w celu podglądu zawartości przed przejściem. Zaproponowano nowy tag , który umożliwia wyświetlenie innej strony w formie osadzenia, na którą, gdy uzyska fokus, pokazana w osadzeniu strona zostanie przekształcona w stan głównego dokumentu, wewnątrz którego dozwolona jest nawigacja. W przeciwieństwie do iframe osadzenie jest całkowicie izolowane od podstawowej strony i traktowane jako oddzielny dokument.
    • API Fetch Upload Streaming, co umożliwia realizację zapytań fetch z ładowaniem zawartości w formie strumienia ReadableStream (wcześniej zapytanie wymagało pełnej gotowości zawartości, a teraz możliwe jest rozpoczęcie wysyłania danych w formie strumienia, nie czekając na pełną gotowość ciała zapytania). Na przykład aplikacja internetowa może rozpocząć wysyłanie danych formularza internetowego, jak tylko użytkownik zacznie wpisywać tekst w polu wejściowym, a gdy pisanie zostanie zakończone, dane przez fetch() będą już wysyłane. W tym również za pomocą nowego API można przesyłać dane dźwiękowe i wideo generowane po stronie klienta.
    • Zaproponowano API Declarative Shadow DOM do tworzenia nowych korzeni w Shadow DOM, na przykład aby oddzielić importowany styl elementu zewnętrznego oraz związaną z nim poddrzewo DOM od głównego dokumentu. Zaproponowane deklaracyjne API pozwala na oddzielanie gałęzi DOM tylko w HTML, bez konieczności pisania kodu w JavaScript.
    • Dodano właściwość RTCRtpEncodingParameters.adaptivePtime, które pozwala nadawcy strumieni RTC (komunikacja w czasie rzeczywistym) zarządzać włączaniem adaptacyjnego mechanizmu wysyłania pakietów.
    • Uproszczono zapewnienie trwałej pamięci dla już zainstalowanych aplikacji PWA (Aplikacje internetowe o progresywnym działaniu) i TWA (Zaufane działania internetowe).
      Aplikacja wystarczy, że wywoła metodę navigator.storage.persist() i trwała pamięć zostanie przydzielona automatycznie.
  • Wprowadzono nowe reguły CSS @property, które pozwalają rejestrować własne właściwości CSS z dziedziczeniem, sprawdzaniem typów i wartościami domyślnymi. Działanie @property jest podobne do wcześniej dodanej metody registerProperty().
  • Dla systemów Windows zapewniono możliwość korzystania z metody getInstalledRelatedApps() w celu określenia zainstalowanych aplikacji PWA. Wcześniej metoda ta działała tylko na platformie Android.
  • Dla systemów stacjonarnych wprowadzono wsparcie dla ikonek aplikacji, które pozwalają na szybki dostęp do popularnych, standardowych działań w aplikacji. Aby stworzyć ikonki, wystarczy dodać elementy do manifestu aplikacji internetowej w formacie PWA (Aplikacje internetowe o progresywnym działaniu). Wcześniej ikonki aplikacji były dostępne tylko na platformie Android.
  • Dodano właściwość CSS content-visibility do zarządzania widocznością zawartości w celu optymalizacji renderowania. Przy ustawieniu wartości ‘auto’ widoczność określa przeglądarka na podstawie bliskości elementu do granicy widocznego obszaru. Wartość ‘hidden’ pozwala w pełni zarządzać wyświetlaniem elementu z poziomu skryptów.
  • Dodano właściwość CSS counter-set do ustawienia określonej wartości dla istniejących liczników. Nowa właściwość CSS uzupełnia wcześniej dostępne właściwości counter-reset i counter-increment, stosowane do tworzenia nowego licznika lub zwiększania istniejącego.
  • Dodano właściwość CSS ‘page’, odzwierciedlającą stronę podczas druku, a także właściwość ‘page-orientation’ do uzyskiwania informacji o orientacji strony (‘upright’, ‘rotate-left’ i ‘rotate-right’). Wdrożono wsparcie dla odnoszenia się do stron przy użyciu nazw, na przykład ‘@page foobar {}’.
  • Wprowadzono API Event Timing do pomiaru opóźnień zdarzenia przed i po załadowaniu strony.
  • W zdarzeniu leavepictureinpicture teraz przekazywany jest link do pictureInPictureWindow, aby uzyskać dostęp do okna w trybie Picture-in-Picture.
  • Podczas wypełniania nagłówka Referrer domyślnie teraz jest stosowane zasada strict-origin-when-cross-origin (przesyłać Referrer skrócony do innych hostów, z których ładowane są zasoby) zamiast no-referrer-when-downgrade (Referrer nie jest wypełniany przy przejściu z HTTPS na HTTP, ale jest przesyłany przy ładowaniu zasobów przez HTTPS).
  • W API WebAuthn zaproponowano nowe metody getPublicKey(), getPublicKeyAlgorithm() i getAuthenticatorData().
  • W WebAssembly dodano wsparcie importu i eksportu 64-bitowych parametrów funkcji, przy użyciu typu JavaScript BigInt.
  • W WebAssembly zrealizowano rozszerzenie Multi-value, umożliwiające funkcje zwracane wielu wartości.
  • Początkowy (baseline) kompilator Liftoff dla WebAssembly jest używany dla wszystkich architektur i platform, a nie tylko dla systemów Intel. Kluczowa różnica między Liftoff a wcześniej stosowanym kompilatorem TurboFan polega na tym, że Liftoff dąży do uzyskania jak największej prędkości początkowej kompilacji, kosztem niskiej wydajności generowanego kodu. Liftoff jest znacznie prostszy niż TurboFan i generuje gotowy do uruchomienia kod maszynowy bardzo szybko, co pozwala niemal od razu na jego wykonanie, minimalizując opóźnienie związane z kompilacją. Aby przyspieszyć kod roboczy, równolegle uruchamiana jest faza optymalizującej rekompilacji, która jest realizowana z użyciem kompilatora Turbofan. Po przygotowaniu zoptymalizowanych instrukcji maszynowych, początkowa wersja robocza jest zastępowana szybszym kodem. W sumie, dzięki zmniejszeniu opóźnienia przed rozpoczęciem wykonania, zastosowanie Liftoff doprowadziło do zwiększenia wydajności zestawu testowego WebAssembly o około 20%.
  • W JavaScript dodano dodano nowe operatory логического присвоения: „??=”, „&&=” i „||=”. Operator „x ??= y” dokonuje przypisania tylko wtedy, gdy „x” ma wartość null lub undefined. Operator „x ||= y” dokonuje przypisania tylko wtedy, gdy „x” ma wartość FALSE, natomiast „x &&= y” — TRUE.
  • Dodano metodę String.prototype.replaceAll(), zwracającą nowy ciąg (oryginalny ciąg nie jest zmieniany), w którym na podstawie zadanego wzoru dokonano zamiany wszystkich pasujących wartości. Wzory mogą być zarówno prostymi maskami, jak i wyrażeniami regularnymi.
  • Zrealizowano metodę Promise.any(), która zwraca pierwszy spełniony Promise z listy.
  • Zakończono działanie manifestu AppCache (technologia do organizacji pracy aplikacji webowej w trybie offline). Jako powód podano chęć pozbycia się jednego z wektorów do przeprowadzania ataków związanych z międzystronowym skryptowaniem. Zamiast AppCache zaleca się korzystanie z API. Cache.
  • Przekazywanie plików cookie w trybie SameSite=None dla połączeń bez szyfrowania jest zabronione. Atrybut SameSite jest określany w nagłówku Set-Cookie, aby zarządzać przesyłaniem plików cookie i domyślnie ustawiany jest na wartość „SameSite=Lax”, co ogranicza wysyłanie plików cookie dla międzystronowych subzapytań, takich jak żądanie obrazu lub ładowanie treści przez iframe z innej strony.
    Strony mogą nadpisać domyślny tryb SameSite, jawnie ustawiając przy instalacji plików cookie wartość SameSite=None. Wartość SameSite=None dla plików cookie może być teraz ustawiana tylko w trybie Secure, który działa dla połączeń przez HTTPS.
  • W narzędziach dla programistów webowych dodano wsparcie dla edytowania stylów stworzonych przy pomocy frameworków CSS-in-JS za pomocą API CSSOM (Model Obiektowy CSS), a także stylów dodanych z JavaScript. Panel audytu został zaktualizowany do wydania Lighthouse 6.0, który wprowadza nowe metryki Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) oraz Total Blocking Time (TBT).

    Wydanie Chrome 85
  • W panelu oceny wydajności wyświetlana jest informacja o buforowaniu wyników kompilacji JavaScript. W przypadku nawigacji użytkownika po stronie w skali zapewniono wyświetlanie czasu w odniesieniu do początku nawigacji, a nie początku nagrania.

    Wydanie Chrome 85

Oprócz wprowadzenia nowości i poprawy błędów w nowej wersji usunięto 20 luk bezpieczeństwa. Wiele luk zostało wykrytych w wyniku automatycznego testowania narzędziami AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Nie stwierdzono krytycznych problemów, które pozwalają obejść wszystkie poziomy zabezpieczeń przeglądarki i wykonać kod w systemie poza środowiskiem sandbox. W ramach programu wypłat nagród za wykrywanie luk w bieżącej wersji firma Google przyznała 14 nagród o łącznej wartości 10 000 dolarów amerykańskich (jedna nagroda 5000 dolarów, trzy nagrody 1000 dolarów i cztery nagrody 500 dolarów). Wartość 6 nagród nie została jeszcze określona.

Źródło: opennet.ru

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