Chrome wersja 77

Google udostępniło nową wersję przeglądarki internetowej Chrome. Jednocześnie dostępna jest nowa wersja projektu Chromium o otwartym kodzie źródłowym - fundamentów Chrome. Kolejna edycja zaplanowana jest na 22 października.

W nowej wersji:

  • Zaprzestano osobnego oznaczania obiektów certyfikatami na poziomie EV (Extended Validation). Informacje o korzystaniu z certyfikatów EV wyświetlają się teraz jedynie w rozwijanym menu pojawiającym się po kliknięciu w ikonę bezpiecznego połączenia. nazwa firmy zweryfikowanej przez urząd certyfikacji, z którą powiązany jest certyfikat EV, nie będzie już wyświetlana w pasku adresu;
  • Zwiększona izolacja osób zajmujących się obsługą witryn. Dodano ochronę danych między witrynami, takich jak pliki cookie i zasoby HTTP, otrzymanych z witryn stron trzecich kontrolowanych przez osoby atakujące. Izolacja działa nawet wtedy, gdy atakujący odkryje błąd w procesie renderowania i spróbuje wykonać kod w jego kontekście;
  • Dodano nową stronę witającą nowych użytkowników (chrome://welcome/), która wyświetla się zamiast standardowego interfejsu otwierania nowej karty po pierwszym uruchomieniu przeglądarki Chrome. Na tej stronie możesz dodawać zakładki do popularnych usług Google (GMail, YouTube, Mapy, Wiadomości i Tłumacz), dołączać skróty do strony Nowa karta, łączyć się z kontem Google, aby włączyć synchronizację Chrome i ustawić Chrome jako domyślne połączenie w systemie .
  • Menu strony nowej zakładki, wyświetlane w prawym górnym rogu, ma teraz możliwość wczytania obrazu tła, a także opcje wyboru motywu i ustawienia bloku ze skrótami do szybkiej nawigacji (najczęściej odwiedzane strony, ręczny wybór użytkownika i ukrywanie bloków za pomocą skrótów). Ustawienia są obecnie ustawione jako eksperymentalne i wymagają aktywacji za pomocą flag „chrome://flags/#ntp-customization-menu-v2” i „chrome://flags/#chrome-colors-custom-color-picker”;
  • Dodano animację ikony serwisu w nagłówku zakładki, sygnalizującą, że strona jest w trakcie ładowania;
    Dodano flagę „--guest”, która umożliwia uruchomienie przeglądarki Chrome z wiersza poleceń w trybie logowania gościa (bez łączenia się z kontem Google, bez rejestrowania aktywności przeglądarki na dysku i bez zapisywania sesji);
  • Trwa czyszczenie flag w chrome://flags, które rozpoczęło się w ostatniej wersji. Zamiast flag zaleca się teraz używanie zestawów reguł do konfigurowania zachowania przeglądarki;
  • Do menu kontekstowego strony, karty i paska adresu dodano przycisk „Wyślij na swoje urządzenia”, umożliwiający wysłanie linku na inne urządzenie za pomocą synchronizacji Chrome. Po wybraniu urządzenia docelowego powiązanego z tym samym kontem i wysłaniu linku, na urządzeniu docelowym wyświetli się powiadomienie o konieczności otwarcia linku;
  • W wersji na Androida całkowicie przeprojektowano stronę z listą pobranych plików, w której zamiast rozwijanego menu z sekcjami treści dodano przyciski umożliwiające filtrowanie ogólnej listy po typie treści oraz miniaturach pobranych obrazów są teraz wyświetlane na całej szerokości ekranu;
  • Dodano nowe wskaźniki oceniające szybkość ładowania i renderowania treści w przeglądarce, dzięki czemu twórca stron internetowych może określić, jak szybko główna treść strony staje się dostępna dla użytkownika. Oferowane wcześniej narzędzia do kontroli renderowania pozwalały ocenić jedynie fakt rozpoczęcia renderowania, a nie gotowość strony jako całości. Chrome 77 oferuje nowy interfejs API Largest Contentful Paint, który pozwala sprawdzić czas renderowania dużych (widocznych dla użytkownika) elementów w widocznym obszarze, takich jak obrazy, filmy, elementy blokowe i tła stron;
  • Dodano API PerformanceEventTiming, które dostarcza informacji o opóźnieniu przed pierwszą interakcją użytkownika (na przykład naciśnięciem klawisza na klawiaturze lub myszką, kliknięciem lub przesunięciem wskaźnika). Nowy interfejs API jest podzbiorem interfejsu API EventTiming, który zapewnia dodatkowe informacje umożliwiające pomiar i optymalizację responsywności interfejsu;
  • Dodano nowe funkcje dla formularzy, które ułatwiają korzystanie z własnych, niestandardowych kontrolek formularzy (niestandardowe pola wejściowe, przyciski itp.). Nowe zdarzenie „formdata” umożliwia użycie procedur obsługi JavaScript w celu dodania danych do formularza po jego przesłaniu, bez konieczności przechowywania danych w ukrytych elementach wejściowych.
    Drugą nową funkcją jest obsługa tworzenia niestandardowych elementów powiązanych z formularzem, które działają jak wbudowane kontrolki formularza, w tym takie możliwości, jak umożliwianie sprawdzania poprawności danych wejściowych i wyzwalanie wysyłania danych na serwer. Wprowadzono właściwość formAssociated służącą do oznaczania elementu jako komponentu interfejsu formularza oraz dodano wywołanie connectInternals() umożliwiające dostęp do dodatkowych metod kontroli formularza, takich jak setFormValue() i setValidity();
  • W trybie Origin Trials (funkcje eksperymentalne wymagające osobnej aktywacji) dodano nowe API Contact Picker, umożliwiające użytkownikowi wybieranie wpisów z książki adresowej i przesyłanie określonych szczegółów na ich temat do serwisu. Podczas składania wniosku określana jest lista właściwości, które należy uzyskać (na przykład imię i nazwisko, adres e-mail, numer telefonu). Właściwości te są wyraźnie widoczne dla użytkownika, który podejmuje ostateczną decyzję o przekazaniu danych lub 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 .
    Wersja próbna Origin oznacza możliwość pracy z określonym API z aplikacji pobranych z localhost lub 127.0.0.1 lub po rejestracji i otrzymaniu specjalnego tokena, który jest ważny przez ograniczony czas dla określonej witryny;
  • Dla formularzy zaimplementowano atrybut „enterkeyhint”, który pozwala zdefiniować zachowanie po naciśnięciu klawisza Enter na wirtualnej klawiaturze. Atrybut może przyjmować wartości enter, gotowe, przejdź, następny, poprzedni, wyszukaj i wyślij;
  • Dodano regułę dokument-domena kontrolującą dostęp do właściwości „document.domain”. Domyślnie dostęp jest dozwolony, ale w przypadku odmowy próba zmiany wartości „dokument.domena” zakończy się błędem;
  • Do interfejsu Performance API dodano wywołanie LayoutShift umożliwiające śledzenie zmian położenia elementów DOM na ekranie.
    Rozmiar nagłówka HTTP „Referer” jest ograniczony do 4 KB, po przekroczeniu tej wartości treść zostaje obcięta do nazwy domeny;
  • Argument url w funkcji RegisterProtocolHandler() jest ograniczony do używania wyłącznie schematów http:// i https:// i obecnie nie pozwala na stosowanie schematów „data:” i „blob:”.
  • Do metody Intl.NumberFormat dodano obsługę formatowania jednostek, walut, notacji naukowych i kompaktowych (na przykład „Intl.NumberFormat('en', {style: 'unit', unit: 'metr-per-sekunda'}") ;
  • Dodano nowe właściwości CSS overscroll-behaviour-inline i overscroll-behaviour-block w celu kontrolowania zachowania przewijania po osiągnięciu logicznej granicy obszaru przewijania;
  • Właściwość CSS White-space obsługuje teraz wartość odstępów;
  • Service Workers dodali obsługę uwierzytelniania HTTP Basic i wyświetlanie standardowego okna dialogowego do wprowadzania parametrów logowania;
  • Interfejsu Web MIDI API można teraz używać wyłącznie w kontekście bezpiecznego połączenia (https, plik lokalny lub host lokalny);
  • API WebVR 1.1 zostało uznane za przestarzałe i zastąpione przez WebXR Device API, które umożliwia dostęp do komponentów do tworzenia rzeczywistości wirtualnej i rozszerzonej oraz ujednolica pracę z różnymi klasami urządzeń, od stacjonarnych hełmów wirtualnej rzeczywistości po rozwiązania bazujące na urządzeniach mobilnych.
    W narzędziach deweloperskich dodano możliwość kopiowania właściwości CSS węzła DOM do schowka poprzez menu kontekstowe, wywoływane po kliknięciu prawym przyciskiem myszy węzła w drzewie DOM. Dodano interfejs (Pokaż obszary renderowania/przesunięcia układu) umożliwiający śledzenie zmian układu ze względu na brak elementów zastępczych dla reklam i obrazów (podczas ładowania następnego obrazu przesuwa tekst w dół podczas oglądania). Pulpit kontrolny audytu został zaktualizowany do wersji Lighthouse 5.1. Włączono automatyczne przełączanie na ciemny motyw DevTools podczas korzystania z ciemnego motywu w systemie operacyjnym. W trybie inspekcji sieci dodano flagę ładowania zasobu z pamięci podręcznej pobierania wstępnego. Dodano obsługę wyświetlania wiadomości push i powiadomień w panelu aplikacji. W konsoli internetowej podczas podglądu obiektów wyświetlane są teraz prywatne pola klas;
  • W silniku JavaScript V8 zoptymalizowano przechowywanie statystyk dotyczących typów operandów używanych w różnych operacjach (pozwala na optymalizację wykonywania tych operacji z uwzględnieniem określonych typów). Aby zmniejszyć zużycie pamięci, wektory rozpoznające typy są teraz umieszczane w pamięci dopiero po wykonaniu określonej ilości kodu bajtowego, co eliminuje potrzebę optymalizacji funkcji o krótkim czasie życia. Zmiana ta pozwala zaoszczędzić 1-2% pamięci w wersji dla systemów stacjonarnych i 5-6% dla urządzeń mobilnych;
  • Poprawiona skalowalność kompilacji w tle WebAssembly - im więcej rdzeni procesorów w systemie, tym większe korzyści z dodanych optymalizacji. Na przykład na 24-rdzeniowym komputerze Xeon czas kompilacji aplikacji demonstracyjnej Epic ZenGarden został skrócony o połowę;

Oprócz innowacji i poprawek błędów nowa wersja eliminuje 52 luki. Wiele luk zostało zidentyfikowanych w wyniku automatycznych testów przy użyciu narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Jeden problem (CVE-2019-5870) jest oznaczony jako krytyczny, tj. pozwala ominąć wszystkie poziomy ochrony przeglądarki i wykonać kod w systemie poza środowiskiem sandbox. Szczegóły krytycznej luki nie zostały jeszcze ujawnione, wiadomo jedynie, że może ona prowadzić do dostępu do zwolnionego już obszaru pamięci w kodzie przetwarzającym dane multimedialne. W ramach programu nagród pieniężnych za odkrycie luk w bieżącej wersji oprogramowania firma Google wypłaciła 38 nagród o wartości 33500 7500 dolarów (jedna nagroda 3000 dolarów, cztery nagrody 2000 dolarów, trzy nagrody 1000 dolarów, cztery nagrody 500 dolarów i osiem nagród 18 dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Źródło: linux.org.ru

Dodaj komentarz