Chrome wersja 95

Google zaprezentowało wersję przeglądarki internetowej Chrome 95. Jednocześnie dostępna jest stabilna wersja darmowego projektu Chromium, na którym opiera się Chrome. Przeglądarkę Chrome wyróżnia użycie logo Google, obecność systemu wysyłania powiadomień w przypadku awarii, modułów do odtwarzania chronionych treści wideo (DRM), systemu automatycznego instalowania aktualizacji i przesyłania parametrów RLZ podczas wyszukiwania. W ramach nowego 4-tygodniowego cyklu rozwojowego następną wersję Chrome 96 zaplanowano na 16 listopada. Dla tych, którzy potrzebują więcej czasu na aktualizację, dostępna jest osobna gałąź Extended Stable, po której następuje 8 tygodni, która generuje aktualizację do poprzedniej wersji Chrome 94.

Kluczowe zmiany w Chrome 95:

  • Dla użytkowników systemów Linux, Windows, macOS i ChromeOS dostępny jest nowy pasek boczny, pokazywany po prawej stronie treści i aktywowany poprzez kliknięcie specjalnej ikony w panelu paska adresu. W panelu wyświetlane jest podsumowanie z zakładkami i listą przeczytań. Zmiana nie jest dostępna dla wszystkich użytkowników, aby ją aktywować, możesz użyć ustawienia „chrome://flags/#side-panel”.
    Chrome wersja 95
  • Zaimplementowano wynik wyraźnego żądania uprawnień do zapisywania adresów wprowadzonych w formularzach internetowych do późniejszego wykorzystania w systemie automatycznego wypełniania formularzy. Podczas sprawdzania obecności adresów w formularzach użytkownikowi pojawia się teraz okno dialogowe, które pozwala na zapisanie adresu, edycję, aktualizację wcześniej zapisanego adresu lub odmowę jego zapisania.
  • Usunięto kod obsługujący protokół FTP. W Chrome 88 obsługa FTP była domyślnie wyłączona, ale pozostawiono flagę, aby ją przywrócić.
  • Nie obsługujemy już adresów URL, których nazwy hostów kończą się cyfrą, ale nie odpowiadają adresom IPv4. Na przykład adresy URL „http://127.1/”, „http://foo.127.1/” i „http://127.0.0.0.1” będą teraz uznawane za nieprawidłowe.
  • WebAssembly ma teraz możliwość tworzenia procedur obsługi wyjątków, które mogą przechwycić wykonanie, jeśli podczas wykonywania określonego kodu wystąpi wyjątek. Obsługuje zarówno wychwytywanie wyjątków znanych modułowi WebAssembly, jak i wyjątków w procesie wywoływania importowanych funkcji. Aby wychwycić wyjątki, moduł WebAssembly musi zostać skompilowany przy użyciu kompilatora obsługującego wyjątki, takiego jak Emscripten.

    Należy zauważyć, że obsługa wyjątków na poziomie WebAssembly może znacznie zmniejszyć rozmiar generowanego kodu w porównaniu do obsługi wyjątków za pomocą JavaScript. Na przykład zbudowanie optymalizatora Binaryen z obsługą wyjątków przy użyciu JavaScript powoduje wzrost kodu o 43% i wzrost kodu o 9% przy użyciu zestawu WebAssembly. Ponadto, podczas korzystania z trybu optymalizacji „-O3”, kod z obsługą wyjątków przy użyciu zestawu WebAssembly działa praktycznie tak samo jak kod bez obsługi wyjątków, podczas gdy obsługa wyjątków przy użyciu języka JavaScript powoduje spowolnienie wykonywania o 30%.

  • Udostępnianie modułów WebAssembly pomiędzy różnymi domenami (cross-origin) podczas przetwarzania jednej witryny jest zabronione.
  • 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.
    • Włączono przycinanie informacji w nagłówku HTTP User-Agent i parametrach JavaScript navigator.userAgent, navigator.appVersion i navigator.platform. Nagłówek zawiera jedynie informacje o nazwie przeglądarki, istotnej wersji przeglądarki, platformie i typie urządzenia (telefon komórkowy, komputer stacjonarny, tablet). Aby uzyskać dodatkowe dane, takie jak dokładna wersja i dane rozszerzonej platformy, należy skorzystać z interfejsu User Agent Client Hints API. Rozpoczęcie wycinania User-Agent na systemach zwykłych użytkowników zaplanowano na wydanie Chrome 102, które ukaże się za pół roku.
    • Możliwe jest utworzenie uchwytów dostępu dla interfejsu File System Access API, który umożliwia aplikacjom internetowym odczytywanie i zapisywanie danych bezpośrednio do plików i katalogów na urządzeniu użytkownika. Aby ograniczyć sposób, w jaki aplikacje internetowe uzyskują dostęp do systemu plików, Google planuje połączyć interfejsy API File System Access i Storage Foundation. Jako etap przygotowawczy do takiej unifikacji zaproponowano obsługę deskryptorów dostępu, uzupełniając metody pracy w oparciu o deskryptory plików o zaawansowane możliwości, takie jak ustawienie blokady zapisu dla innych procesów oraz tworzenie osobnych wątków do zapisu i odczytu, w tym obsługę odczyt i zapis od pracowników w trybie synchronicznym.
  • API Bezpiecznego Potwierdzenia Płatności zostało ustabilizowane i oferowane domyślnie wraz z wdrożeniem nowego rozszerzenia „płatność”, które zapewnia dodatkowe potwierdzenie wykonania transakcji płatniczej. Strona ufająca, taka jak bank, ma możliwość wygenerowania klucza publicznego PublicKeyCredential, o który sprzedawca może poprosić w celu dodatkowego potwierdzenia bezpiecznej płatności za pośrednictwem interfejsu API żądania płatności przy użyciu metody płatności „potwierdzenie bezpiecznej płatności”.
  • Wywołania zwrotne zainstalowane poprzez konstruktora PerformanceObserver implementują przeniesienie właściwości dropEntriesCount, co pozwala zrozumieć, ile metryk wydajności witryny zostało odrzuconych ze względu na to, że nie zmieściły się w dostarczonym buforze.
  • Dodano API EyeDropper, które umożliwia wywołanie interfejsu udostępnianego przez przeglądarkę w celu określenia koloru dowolnych pikseli na ekranie, co można wykorzystać np. w edytorach graficznych realizowanych jako aplikacje internetowe. const Kroplomierz = nowy Kroplomierz(); const wynik = czekaj na kroplomierz.open(); // wynik = {sRGBHex: '#160731'}
  • Dodano funkcję self.reportError(), która pozwala skryptom drukować błędy na konsoli, emulując wystąpienie nieprzechwyconego wyjątku.
  • Dodano API URLPattern, które sprawdza, czy adres URL pasuje do określonego wzorca, co można wykorzystać na przykład do analizowania linków i przekierowywania żądań do procedur obsługi w service workerze. const p = nowy URLPattern({protokół: 'https', nazwa hosta: 'example.com', nazwa ścieżki: '/:folder/*/:nazwa pliku.jpg', });
  • Rozszerzono API Intl.DisplayNames, dzięki któremu można uzyskać zlokalizowane nazwy języków, krajów, walut, elementów dat itp. Nowa wersja dodaje nowe typy nazw „calendar” i „dateTimeField”, dzięki którym można poznać zlokalizowane nazwy kalendarza oraz pól daty i godziny (na przykład nazwy miesięcy). Dla typu „język” dodano obsługę dialektów językowych.
  • W API Intl.DateTimeFormat dodano obsługę nowych wartości parametru timeZoneName: „shortGeneric” do wyświetlenia krótkiego identyfikatora strefy czasowej (na przykład „PT”, „ET”), „longGeneric” do wyświetlenia długiej strefy czasowej identyfikator („Czas pacyficzny”, „Czas górski”), „shortOffset” – z krótkim przesunięciem względem GMT („GMT+5”) oraz „longOffset” z długim przesunięciem względem GMT („GMT+0500”).
  • Interfejs API U2F (Cryptotoken) został uznany za przestarzały i zamiast niego należy używać interfejsu API uwierzytelniania sieciowego. Interfejs API U2F będzie domyślnie wyłączony w przeglądarce Chrome 98 i całkowicie usunięty w przeglądarce Chrome 104.
  • Wprowadzono ulepszenia w narzędziach dla twórców stron internetowych. Panel Style ułatwia dostosowywanie właściwości CSS związanych z rozmiarem (wysokość, dopełnienie itp.). Zakładka Problemy umożliwia ukrycie poszczególnych problemów. W konsoli internetowej oraz panelach Źródła i Właściwości poprawiono wyświetlanie właściwości (własne właściwości są teraz wyróżnione pogrubioną czcionką i wyświetlane na górze listy).
    Chrome wersja 95

Oprócz innowacji i poprawek błędów nowa wersja eliminuje 19 luk. Wiele luk zostało zidentyfikowanych w wyniku automatycznych testów przy użyciu narzędzi AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i 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 firma Google wypłaciła 16 nagród o wartości 74 tys. dolarów (jedna nagroda 20000 10000 dolarów, dwie nagrody 7500 6000 dolarów, jedna nagroda 5000 dolarów, jedna nagroda 3000 dolarów, trzy nagrody 2000 dolarów i jedna nagroda 1000 dolarów). i 5 dolarów). Wielkość XNUMX nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Dodaj komentarz