Chrome 122 w wersji beta

O ile nie zaznaczono inaczej, w najnowszej wersji beta przeglądarki Chrome mają zastosowanie następujące zmiany wersję na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o funkcjach wymienionych tutaj, klikając podane linki lub z listy na stronie ChromeStatus.com. Od 24 stycznia 2024 r. Chrome 122 jest w wersji beta. Możesz pobrać najnowsze informacje z Google.com na komputer lub w Sklepie Google Play na urządzeniu z Androidem.

CSS

W tej wersji dodaliśmy 3 nowe funkcje CSS.

Zapytania CSS @container z nieobsługiwanymi funkcjami nigdy nie pasują

@container selektorów zawierających nieobsługiwane zapytania nigdy nie wybierze żadnych kontenery, co oznacza, że nigdy nie będą one pasować.

Oznacza to, że to zapytanie nigdy nie będzie pasować do żadnego kontenera, nawet jeśli istnieje rozmiar kontenera, który pasuje do zapytania o szerokość. Na przykład to zapytanie nigdy nie zostaną dopasowane z powodu nieznanej funkcji:

@container (width > 0px) or (unknown) {}

Jest to ostatnia zmiana w specyfikacji, która ma na celu uniknięcie zgodności w przyszłości problemów.

Pseudoelement CSS ::backdrop dziedziczący z elementu źródłowego

Pseudoelement ::backdrop używany do dziedziczenia z wartości początkowych. To oznacza ::backdrop nie może używać wartości właściwości niestandardowych, chyba że określono je bezpośrednio w reguła ::backdrop. Specyfikacja została zmieniona i ::backdrop dziedziczy z elementu źródłowego, ta zmiana sprawi, że Chrome zgodnie z nowymi specyfikacjami.

Warunki CSS supports() dla @import

@import akceptuje teraz warunek supports(). Jeśli warunek supports() nie pasuje, import nie zostanie pobrany.

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

Zapytania dotyczące funkcji, które należy umieścić w elemencie supports(), są takie same jak użyte przy użyciu: @supports

Internetowe interfejsy API

Async Clipboard API: odczyt nieoczyszczonego kodu HTML

Dodaje unsanitized w metodzie read(), by uzyskać nieoczyszczony format HTML. Chyba że witryny uwzględnić tę właściwość, odczyt ze schowka zostanie przetworzony.

Domyślnie podczas odczytu typów MIME text/html przy użyciu asynchronicznego interfejsu API parametr Funkcja sanitizer jest wywoływana w celu usunięcia zawartości ze znaczników HTML ze względów bezpieczeństwa potencjalnych problemów, a style są wbudowane w kod HTML. Powoduje to duży ładunek HTML i utratą wierności treści HTML w tekście odczytywanym przez programistów internetowych lub aplikacje mobilne.

Nie usuwaj obiektów rodzaju plików w DataTransfer.clearData()

Aktualizuje Chrome, aby dostosować spec, , który określa, że clearData() nie ma wpływu na obiekty File. Usuwa tylko obiektami rodzaju text.

FedCM: odłącz

Umożliwia odłączenie sfederowanego konta logowania przy użyciu witryny jednostki uzależnionej. W przypadku interfejsu API rozłączania strona uzależniona może powiadomić dostawcę tożsamości, że używane wcześniej konto zostało odłączone, więc możesz zacząć z niego korzystać przy użyciu logowania sfederowanego wymagałoby traktowania go jako nowego konta.

Anulowanie interoperacyjnego zdarzenia kursora myszy w elemencie iframe

Ustaw kierowanie zdarzeń myszy niezależnie od anulowania zdarzenia naciśnięcia przycisku myszy, gdy wskaźnik jest przeciągnięty poza element iframe. Gdy wskaźnik myszy zostanie przeciągnięty poza element iframe, wszystkie przeglądarki (w tym Chrome) wysyłają zdarzenia mousemove i mouseup do iframe. Jeśli jednak zdarzenie naciśnięcia przycisku myszy zostanie anulowane, Chrome zachowa obecnie ze starym wyjątkiem WebKit, że zdarzenia ruchu kursora myszy i myszy są wysyłane do ramki. W zeszłym roku ten wyjątek został usunięty przez WebKit, a Mozilla nigdy go nie pokazała zachowania użytkowników w ostatnich latach. Ta funkcja usunie wyjątek tylko w Chrome dla: tym szczególnym przypadku.

Pomocnicze iteracje

Funkcje pomocnicze iteracji to nowe metody na prototypie iteratora, aby umożliwić ogólne wykorzystanie i teratory.

MessagePort.onclose

Zmiana w interfejsie Channel Messaging API, która powoduje powiadomienie jednego z portów MessagePort że drugi port został odłączony. Czyli close() to Jeśli dokument zostanie zniszczony, lub port zostanie oczyszczony ze śmieci.

Rozszerzenia RTCRtpSender setParameters() do żądania wygenerowania ramki klucza

Dodaje opcjonalny drugi parametr do wywołania RTCRtpSender.setParameters WebRTC który może służyć do wysłania do powiązanego kodera prośby o wygenerowanie klatki kluczowej.

Ustaw metody

Metody ustawiania to nowe metody, takie jak suma i część wspólna, dodawane do metody JavaScript wbudowanej klasy Set.

Interfejs Storage Buckets API

Zasobniki na dane umożliwiają organizowanie witryn danych na urządzeniu do osobnych „zasobników”, co pozwala klientom użytkownika usuwać grupowania danych niezależnie od danych, które znajdują się w innych grupach, pozwalając na ergonomiczne zarządzanie danymi powiązanymi z kontem semantycznym. Każdy zasobnik na dane może zawierają dane powiązane z ustalonymi interfejsami API do przechowywania danych, takimi jak IndexedDB czy CacheStorage.

URLPattern: hasRegExpGroups

Umożliwia sprawdzenie, czy URLPattern używa co najmniej 1 klasycznej biblioteki ECMAScript grup wyrażeń i dlatego może nie nadawać się do użytku w sytuacjach, w których Mechanizm ECMAScript jest niedostępny (np. niektóre planowane interfejsy API w przyszłości). Ogólnie rzecz biorąc, jest to coś, z czego deweloperzy i tak mogli się czegoś dowiedzieć. sprawdzając wzorce, mając przy tym dostęp do implementacji w UA to znacznie upraszcza ten proces.

Magazyn buforów rysowania w WebGL

WebGL umożliwia renderowanie tekstu w teksturach i buforach renderowania wielu różnych pikseli. formatów reklam. Na przykład kod 8-bitowy, zmiennoprzecinkowy lub sRGB.

Bufor rysunkowy WebGL (bufor przekazywany do kompozytora) to Domyślnie 8-bitowy. Funkcja rysowaniaBufferStorage pozwala WebGL skonfigurować bufora, co pozwala programistom wykonać poniższe czynności.

  • Unikaj dodatkowej kopii podczas konwertowania ich renderowania na domyślny rysunek bufora.
  • Rysuje treść z ponad 8-bitową precyzją.

Ta funkcja odblokowuje kilka dodatkowych aplikacji:

  • Treści o bardzo szerokiej gamie kolorów bez utraty precyzji.
  • Zastosowania medyczne, które wymagają ponad 8 bitów dokładności.
  • Aplikacje o wysokim zakresie dynamiki (jeśli są dostępne).

Kodowanie klucza X25519Kyber768 na potrzeby protokołu TLS

Chroń bieżący ruch TLS w Chrome przed przyszłą kryptoanalizą kwantową przez wdrożyliśmy odporny kwantowy algorytm uzgadniania kluczy Kyber768. To jest hybrydowe uzgadnianie kluczy X25519 i Kyber768 oparte na standardzie IETF. Ten specyfikacja i uruchomienie wykraczają poza zakres W3C. Ta kluczowa umowa jako mechanizm szyfrowania TLS i powinny być przejrzyste dla użytkowników.

Trwa testowanie origin

W Chrome 122 możesz wybrać następujące nowe źródło .

Rozszerzenia zakresu aplikacji internetowej

Zakres aplikacji internetowej (zdefiniowany przez pole zakresu) można zdefiniować tylko za pomocą ścieżki z pojedyncze źródło. Jest używany do określania, czy okno aplikacji jest bieżące jest częścią aplikacji. Określa też, które adresy URL są dozwolone w innych użytkowników pliku manifestu.

Parametr scope_extensions pozwala programistom mogą rozszerzyć działania aplikacji, aby uwzględnić inne źródła, jeśli między podstawowym źródłem aplikacji internetowej a powiązanymi źródłami.

Zarejestruj się, aby skorzystać z testowania origin rozszerzeń aplikacji internetowej

Przechwycona kontrola powierzchni

Captured Surface Control API pozwala aplikacjom internetowym generować zdarzenia koła w przechwyconych kartach lub oknie oraz odczytywać lub zapisać poziom powiększenia zarejestrowanej karty.

Zarejestruj się w programie testowania origin Surface Control.