Chrome wersja 80

Google представила wydanie przeglądarki internetowej Chrome 80... 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ępna wersja Chrome 81 zaplanowana jest na 17 marca.

Głównym zmiany в Chrom 80:

  • Dla niewielkiego odsetka użytkowników dostępna jest funkcja grupowania zakładek, która pozwala połączyć kilka zakładek o podobnym przeznaczeniu w wizualnie oddzielone grupy. Każdej grupie można przypisać własny kolor i nazwę. Użytkownicy, którzy nie zostali objęci pierwszą falą aktywacji, mogą włączyć obsługę grupowania poprzez opcję „chrome://flags/#tab-groups”.

    Chrome wersja 80

  • Dodano obsługę tej funkcji Przewiń do tekstu, co pozwala na tworzenie linków do poszczególnych słów lub wyrażeń bez wyraźnego określania etykiet w dokumencie za pomocą znacznika „a name” lub właściwości „id”. Planuje się, że składnia takich linków zostanie zatwierdzona jako standard sieciowy, co jest jeszcze na etapie projekt. Maska przejścia (w zasadzie wyszukiwanie przewijane) jest oddzielona od zwykłej kotwicy atrybutem „:~:”. Na przykład, gdy otworzysz link „https://opennet.ru/52312/#:~:text=Chrome”, strona przesunie się do pozycji, w której znajduje się pierwsza wzmianka słowa „Chrome” i to słowo zostanie podświetlone .
  • Stosowany Bardziej rygorystyczne ograniczenie przesyłania plików cookie między witrynami w przypadku żądań innych niż HTTPS, zakazujące przetwarzania plików cookie stron trzecich ustawianych podczas uzyskiwania dostępu do witryn innych niż domena bieżącej strony. Tego rodzaju pliki cookies służą do śledzenia ruchów użytkowników pomiędzy witrynami w kodzie sieci reklamowych, widżetów sieci społecznościowych i systemów analityki internetowej. Przypomnijmy, że do kontrolowania transmisji plików cookie używany jest atrybut SameSite określony w nagłówku Set-Cookie, który domyślnie jest teraz ustawiony na wartość „SameSite=Lax”, co ogranicza wysyłanie plików cookie dla podżądań między witrynami , na przykład żądanie obrazu lub ładowanie treści za pomocą elementu iframe z innej witryny. Witryny mogą zastąpić domyślne zachowanie SameSite, jawnie ustawiając ustawienie Cookie na SameSite=None. Jednakże wartość SameSite=None dla Cookie można ustawić tylko w trybie bezpiecznym (ważne dla połączeń poprzez HTTPS). Zmiana będzie rozpoczynać się etapami stosować 17 lutego, początkowo dla niewielkiego odsetka użytkowników, a następnie stopniowo rozszerzając zasięg.
  • Dodany ochrona przed irytującymi powiadomieniami związanymi z potwierdzeniem danych uwierzytelniających. Ponieważ działania takie jak wysyłanie spamu z żądaniami powiadomień push zakłócają wygodę użytkownika i odwracają uwagę od okien dialogowych z potwierdzeniem, w przeglądarce Chrome 80 zamiast osobnego okna dialogowego na pasku adresu może być teraz wyświetlana podpowiedź informacyjna ostrzegająca, że ​​prośba o pozwolenie została zablokowana, co następnie zapada się w kierunkowskaz z wizerunkiem przekreślonego dzwonu. Klikając na wskaźnik, możesz w dowolnym dogodnym momencie aktywować lub odrzucić żądane zezwolenie. Automatycznie nowy tryb zostanie selektywnie włączony dla użytkowników, którzy wcześniej zwykle blokowali takie żądania, a także dla witryn, które odnotowują duży procent odrzuconych żądań. Aby włączyć nowy tryb dla wszystkich żądań, do ustawień dodano specjalną opcję (chrome://flags/#quiet-notification-prompts).

    Chrome wersja 80

  • Zabroniony wyświetlanie wyskakujących okienek (wywołanie metody window.open()) i wysyłanie synchronicznych żądań XMLHttpRequest w procedurach obsługi zdarzeń zamknięcia lub ukrycia strony (unload, beforeunload, pagehide i widocznośćzmiany);
  • Proponowany inicjał ochrona z ładowania mieszanych treści multimedialnych (w przypadku ładowania zasobów na stronę HTTPS za pośrednictwem protokołu http://). Na stronach otwieranych poprzez HTTPS linki „http://” będą teraz automatycznie zastępowane przez „https://” w blokach związanych z odtwarzaniem plików audio i wideo. Jeżeli zasób audio lub wideo nie jest dostępny poprzez https, wówczas jego pobranie zostaje zablokowane (można ręcznie zaznaczyć blokadę poprzez menu dostępne poprzez symbol kłódki w pasku adresu).

    Obrazy będą nadal ładowane bez zmian (w przeglądarce Chrome 81 zostanie zastosowana autokorekta), ale aby zastąpić je https lub zablokować obrazy, twórcy witryn otrzymują właściwości CSP dotyczące aktualizacji-niepewnych-żądań i blokowania wszystkich mieszanych treści. W przypadku skryptów i ramek iframe blokowanie treści mieszanych zostało już wdrożone wcześniej.

  • Stopniowe zamknięcie Obsługa FTP. Domyślnie obsługa FTP jest nadal dostępna, ale będzie trzymany eksperyment, w którym obsługa FTP zostanie wyłączona dla określonego odsetka użytkowników (aby powrócić, należy uruchomić przeglądarkę z opcją „-enable-ftp”). Przypomnijmy, że w poprzednich wersjach wyłączone było już wyświetlanie w oknie przeglądarki zawartości zasobów pobranych protokołem „ftp://” (wstrzymywano np. wyświetlanie dokumentów HTML i plików README), korzystanie z protokołu FTP zabronione podczas pobierania podzasobów z dokumentów, a obsługa proxy została przerwana dla FTP. Nadal jednak możliwe było pobieranie plików poprzez bezpośrednie linki i wyświetlanie zawartości katalogów.
  • Dodany
    możliwość wykorzystania wektorowych obrazów SVG jako ikony witryny (favicon).

  • Do ustawień dodano możliwość selektywnego wyłączania niektórych typów danych przesyłanych podczas synchronizacji pomiędzy przeglądarkami.
  • Dodano regułę dla centralnie zarządzanych użytkowników korporacyjnych Blokuj rozszerzenia zewnętrzne, co pozwala zapobiec instalacji zewnętrznych dodatków na urządzeniu.
  • Wdrożone okazja jednorazowe sprawdzenie całego łańcucha właściwości lub wywołań w JavaScript. Przykładowo, przy uzyskiwaniu dostępu do „db.user.name.length” konieczne było wcześniej sprawdzenie krok po kroku definicji wszystkich komponentów, na przykład poprzez „if (db && db.user && db.user.name)”. Teraz użyj operacji „?” możesz uzyskać dostęp do wartości „db?.user?.name?.length” bez wstępnej kontroli i taki dostęp nie spowoduje błędu. W przypadku problemów (jeśli jakiś element zostanie przetworzony jako null lub niezdefiniowany)) wynik będzie „niezdefiniowany”.
  • JavaScript wprowadza nowy operator konkatenacji logicznej „??", który zwraca prawy operand, jeśli lewy operand ma wartość NULL lub jest niezdefiniowany i odwrotnie. Na przykład „const foo = bar ?? 'domyślny ciąg'', jeśli słupek ma wartość null, w przeciwnym razie zwróci wartość słupka, w tym gdy słupek ma wartość 0 i ' ', w przeciwieństwie do operatora "||".
  • W trybie próbnym Origin (funkcje eksperymentalne wymagające osobnego aktywacja) zaproponował interfejs API indeksowania treści. 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. API Indeksowanie treścizawiera metadane dotyczące treści, które były wcześniej buforowane przez aplikacje internetowe działające w trybie progresywnych aplikacji internetowych (PWS). Aplikacja może zapisywać po stronie przeglądarki różne dane, w tym obrazy, filmy i artykuły, a w przypadku utraty połączenia sieciowego wykorzystać je za pomocą API Cache Storage i IndexedDB. Content Indexing API umożliwia dodawanie, wyszukiwanie i usuwanie takich zasobów. W przeglądarce ten interfejs API jest już używany do wyświetlania listy stron i danych multimedialnych dostępnych do przeglądania w trybie offline.

    Chrome wersja 80

  • Ustabilizowana i teraz dystrybuowana poza API Origin Trials Skontaktuj się z Pickerem, umożliwiając użytkownikowi wybieranie wpisów z książki adresowej i przesyłanie określonych szczegółów na ich temat do serwisu. Żądanie określa listę właściwości, które należy pobrać. Te właściwości są jawnie wyświetlane użytkownikowi, który decyduje, czy przekazać te właściwości, czy nie. API można wykorzystać np. w kliencie poczty internetowej do wyboru odbiorców wysyłanego listu, w aplikacji webowej z funkcją VoIP do zainicjowania połączenia pod konkretny numer, czy w serwisie społecznościowym do wyszukiwania już zarejestrowanych znajomych . Jednocześnie w ramach Origin Trials oferowane są nowe właściwości Contact Pickera: oprócz dostępnego wcześniej imienia i nazwiska, adresu e-mail i numeru telefonu, dodano możliwość przeniesienia adresu e-mail i zdjęcia.
  • W pracownikach sieci proponowane nowy sposób ładowania modułów ECMAScript, pozwalający uniknąć użycia funkcji importScripts(), która blokuje workera podczas przetwarzania zaimportowanego skryptu i wykonuje go w kontekście globalnym. Nowa metoda polega na stworzeniu specjalnych modułów dla Web Workers, które obsługują standardowe mechanizmy importu JavaScript i mogą być ładowane dynamicznie bez blokowania wykonywania workerów. Aby załadować moduły, konstruktor Worker udostępnia nowy typ zasobu - „moduł”:

    const pracownik = nowy pracownik('worker.js', {
    wpisz: „moduł”
    });

  • Wdrożone Wbudowana zdolność JavaScript do przetwarzania skompresowanych strumieni bez konieczności korzystania z zewnętrznych bibliotek. Dodano interfejsy API do kompresji i dekompresji Strumień kompresji i strumień dekompresji. Obsługiwana jest kompresja przy użyciu algorytmów gzip i deflate.

    stała kompresjaReadableStream
    = inputReadableStream.pipeThrough(nowy CompressionStream('gzip'));

  • Dodano właściwość CSS „przerwanie linii: gdziekolwiek", która umożliwia łamanie na poziomie dowolnego znaku typograficznego, w tym łamanie przy znakach interpunkcyjnych predefiniowanych spacjami ( ) i w środku wyrazów. Dodano także właściwość CSS „overflow-wrap: gdziekolwiek» pozwala na przerwanie nieprzerwanego ciągu znaków w dowolnym miejscu, jeżeli w wierszu nie udało się znaleźć odpowiedniego miejsca na przerwanie.
  • Dla kontekstu medialnego przetwarzanego w postaci zaszyfrowanej zaimplementowano obsługę tej metody MediaCapabilities.decodingInfo(), który dostarcza informacji o możliwościach przeglądarki w zakresie dekodowania chronionych treści (na przykład tej metody można użyć do wybrania scenariuszy dekodowania o wysokiej jakości lub energooszczędnych w oparciu o dostępną przepustowość i rozmiar ekranu).
  • Dodano metodę HTMLVideoElement.getVideoPlaybackQuality(), dzięki któremu możesz uzyskać informacje o wydajności odtwarzania wideo, aby dostosować szybkość transmisji, rozdzielczość i inne parametry wideo.
  • W API Obsługa płatności, co upraszcza integrację z istniejącymi systemami płatności, dodało taką możliwość delegacja przetwarzanie danych adresowych i kontaktowych do zewnętrznego procesora systemu płatności (aplikacja systemu płatności może posiadać dokładniejsze informacje niż przeglądarka).
  • Dodano obsługę nagłówka HTTP Drugie pobieranie docelowe, co umożliwia przesłanie dodatkowych metadanych o rodzaju treści powiązanej z żądaniem (przykładowo dla żądania poprzez tag img typ to „image”, dla czcionek – „font”, dla skryptów – „skrypt”, dla stylów - „styl” itp. ). W zależności od określonego typu serwer może podjąć środki w celu ochrony przed określonymi rodzajami ataków (na przykład jest mało prawdopodobne, że link do modułu obsługi przelewu zostanie określony za pomocą tagu img, więc takie żądania nie muszą być zostać przetworzone).
  • W silniku JavaScript V8 przeprowadzona optymalizacja przechowywanie wskaźników na stercie. Zamiast przechowywać pełną wartość 64-bitową, przechowywane są tylko unikalne dolne bity wskaźnika. Optymalizacja ta umożliwiła zmniejszenie zużycia pamięci sterty o 40%, kosztem spadku wydajności o 3-8%.
    Chrome wersja 80

    Chrome wersja 80

  • Zmiany w narzędziach dla twórców stron internetowych:
    • Konsola internetowa ma teraz możliwość ponownego definiowania wyrażeń let i klas.

      Chrome wersja 80

    • Ulepszone narzędzia debugowania zestawu WebAssembly. Dodano wsparcie KRASNOLUD do debugowania krok po kroku, określania punktów przerwania i analizowania śladów stosu w kodzie źródłowym, w którym napisana jest aplikacja WebAssembly.

      Chrome wersja 80

    • Ulepszony panel do analizy aktywności sieciowej. Dodano możliwość przeglądania łańcucha wywołań skryptów związanych z inicjacją żądania.

      Chrome wersja 80

      Dodano nowe kolumny Path i URL, które pokazują bezwzględną ścieżkę i pełny adres URL dla każdego zasobu sieciowego. Zapewnia wyróżnienie wybranego zapytania na diagramie przeglądowym.

      Chrome wersja 80

    • W zakładce Warunki sieciowe dodana została możliwość zmiany parametru User-Agent.

      Chrome wersja 80

    • Zaproponowano nowy interfejs umożliwiający konfigurację panelu audytu.
      Chrome wersja 80

    • W zakładce Pokrycie zapewniono możliwość gromadzenia danych o zasięgu dla każdej funkcji lub każdego bloku kodu (bardziej szczegółowe statystyki, ale wymagają więcej zasobów).

      Chrome wersja 80

  • Akcja manifestu AppCache (technologia organizowania działania aplikacji internetowej w trybie offline) ograniczony bieżący katalog witryny (jeśli manifest został pobrany ze strony www.example.com/foo/bar/, to możliwość nadpisania adresu URL będzie działać tylko wewnątrz /foo/bar/). Planuje się całkowite usunięcie obsługi AppCache w przeglądarce Chrome 82. 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.
  • Przerwane obsługa starszego API WebVR 1.1, które można zastąpić API Urządzenie WebXR, co pozwala na dostęp do komponentów umożliwiających tworzenie rzeczywistości wirtualnej i rozszerzonej oraz ujednolicenie pracy z różnymi klasami urządzeń, od stacjonarnych hełmów wirtualnej rzeczywistości po rozwiązania bazujące na urządzeniach mobilnych.
  • Procedury obsługi protokołów połączone za pomocą metod RegisterProtocolHandler() i unregisterProtocolHandler() mogą teraz działać tylko w bezpiecznym kontekście (w przypadku dostępu przez HTTPS).

Oprócz innowacji i poprawek błędów, nowa wersja eliminuje 56 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ł 37 nagród o wartości 48 tys. dolarów (jedna nagroda o wartości 10000 5000 dolarów, trzy nagrody o wartości 3000 dolarów, trzy nagrody o wartości 2000 dolarów, cztery nagrody o wartości 1000 dolarów, trzy nagrody o wartości 500 dolarów i sześć nagród o wartości 17 dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz