Chrome 119 w wersji beta

Chrome 119 (beta) oferuje składnię kolorów względnej CSS, nowe pseudoklasy i wiele innych funkcji.

O ile nie zaznaczono inaczej, opisane zmiany dotyczą najnowszych wersji beta Chrome na Androida, ChromeOS, Linux, macOS i Windows. Dowiedz się więcej o funkcjach wymienionych na tej liście, korzystając z podanych linków lub z listy na ChromeStatus.com. Od 4 października 2023 r. przeglądarka Chrome 119 jest w wersji beta. Najnowsze aktualizacje możesz pobrać z Google.com na komputer lub ze Sklepu Google Play na Androida.

CSS

W tej wersji dodaliśmy 4 nowe funkcje CSS.

pseudoklasy CSS :user-valid i :user- invalid CSS

Pseudoklasy :user-invalid i :user-valid reprezentują element z nieprawidłowymi lub poprawnymi danymi wejściowymi, ale tylko wtedy, gdy użytkownik wejdzie z nim w znaczący sposób. To działanie jest podobne do :valid i :invalid, ale z dodatkowym ograniczeniem, które są dopasowywane do tych pseudoklasy dopiero po interakcji użytkownika z elementem.

Składnia koloru względnego CSS (RCS)

Składnia koloru względnego umożliwia programistom definiowanie kolorów przez modyfikowanie ich parametrów.

Na przykład: wynik oklab(from magenta calc(l * 0.8) a b); daje kolor purpurowy oklab, który jest o 80% jaśniejszy.

Wartości pola geometrycznego-ścieżki przycinania CSS

Właściwość CSS clip-path obsługuje teraz wartości <geometry-box>, dzięki którym można kontrolować pole referencyjne klipu, co ułatwia użycie atrybutu clip-path. Tych wartości pól można używać obok podstawowych kształtów (np. clip-path: circle(50%) margin-box) lub osobno przypinać elementy do określonego pola (na przykład clip-path: content-box).

Wartości xywh() i rect() CSS

Chrome obsługuje teraz wartości xywh() i rect() właściwości clip-path, co ułatwia określenie prostokątnych lub zaokrąglonych prostokątów klipów.

Internetowe interfejsy API

Ponieważ nowe pliki cookie utworzone w Chrome 104 lub zaktualizowane o dacie ważności nie były ustawione na okres do 400 dni do przodu. Ten sam limit będzie teraz stosowany z mocą wsteczną do plików cookie, które już znajdują się w pamięci. Okres ważności tych plików cookie nie może przekraczać 400 dni od pierwszego uruchomienia Chrome w wersji 119 lub nowszej i przeprowadzenia jednorazowej migracji bazy danych. Wpływ tej zmiany będzie widoczny dopiero po upływie co najmniej 400 dni od opublikowania Chrome 119. Zmiany będą widoczne tylko w przypadku istniejących plików cookie, które nie zostały w tym czasie zaktualizowane.

DisplayMediaStreamOptions monitorTypeSurfaces

Po wywołaniu getDisplayMedia() przeglądarka proponuje użytkownikowi wybór platform wyświetlania: kart, okien lub monitorów. Po włączeniu opcji monitorTypeSurfaces aplikacja internetowa może teraz podpowiadać przeglądarce, jeśli w dostępnych dla użytkownika opcjach wybierze opcję „monitorowanie”.

Aktualizacje funkcji chronionych ramek

Chrome 119 zawiera opisane poniżej ulepszenia obejmujące chronione ramki.

W interfejsie Protected Audience API w Piaskownicy prywatności dostępna jest dodatkowa opcja formatu makr rozmiaru reklamy w ramach Protected Audience API. Funkcja akceptacji pozwala umieścić w adresie URL reklamy makro rozmiaru reklamy, która wygra aukcję, np.:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

Aby zapewnić większą spójność z innymi typami makr w Protected Audience, takimi jak te używane w deprecatedReplaceInURN i registerAdMacro, w Chrome 119 oprócz obecnego formatu dodajemy możliwość korzystania z makr ${AD_WIDTH} i ${AD_HEIGHT}.

Automatyczne obrazy typu beacon będą teraz wysyłane do wszystkich zarejestrowanych adresów URL. Wcześniej tylko miejsca docelowe określone podczas wywoływania funkcji setReportEventDataForAutomaticBeacons() otrzymywały takie sygnały, nawet jeśli w jednym miejscu o nazwie „"reserved.top_navigation"” znajdowały się miejsca docelowe o nazwie registerAdBeacon(). Teraz każdy miejsce docelowe o nazwie registerAdBeacon() w przypadku lokalizacji "reserved.top_navigation" otrzyma automatyczny beacon, ale tylko miejsca docelowe określone w: setReportEventDataForAutomaticBeacons() otrzymają dane z tego obrazu typu beacon. Parametr "once" w setReportEventDataForAutomaticBeacons() określa teraz, czy dane są wysyłane jednorazowo, a nie czy cały beacon jest wysyłany tylko raz.

Margines przewijania Intersection Observer

Właściwość Intersection Observer scrollMargin umożliwia programistom obserwowanie celów w zagnieżdżonych kontenerach przewijania, które są obecnie oddalone od kontenerów przewijania. Można to osiągnąć przez rozwinięcie prostokąta przycięcia kontenera o scrollMargin podczas obliczania przecięcia.

Kontenery przewijania z możliwością zaznaczenia za pomocą klawiatury

Ta funkcja zwiększa dostępność, ponieważ umożliwia zaznaczenie kontenerów przewijania za pomocą sekwencyjnej nawigacji zaznaczenia. Wcześniej klawisz Tab nie rejestrował elementów przewijania, chyba że indeks tabIndex był bezpośrednio ustawiony na 0 lub więcej. Po włączeniu opcji domyślnego zaznaczenia przewijanych treści użytkownicy, którzy nie mogą (lub nie chcą) używać myszy, mogą zaznaczać obcięte treści za pomocą klawisza Tab i klawiszy strzałek na klawiaturze. To zachowanie jest włączone tylko wtedy, gdy przewijany nie zawiera żadnych elementów podrzędnych klawiatury, które można zaznaczyć.

Ograniczenia dostępu do sieci prywatnej w przypadku branży motoryzacyjnej

Egzekwuj (zamiast ostrzegać) ograniczenia dostępu do sieci prywatnej w Chrome na Androida Automotive (jeśli BuildInfo::is_automotive). Obejmuje to żądania wstępnego dostępu do sieci prywatnej dotyczące zasobów podrzędnych i prywatnego dostępu do sieci prywatnej dla pracowników.

Odczytywanie atrybutów urządzeń z Chrome

Device Attributes Web API to podzbiór interfejsu Managed Device Web API, który umożliwia aplikacjom internetowym wysyłanie zapytań o informacje o urządzeniu. Na przykład identyfikator urządzenia, numer seryjny i lokalizacja.

Zastąp ruchome znaczniki w nazwie celu na _blank

Ta zmiana zastępuje nazwę celu nawigacji (zwykle ustawianą przez atrybut docelowy) na _blank, jeśli zawiera ona ruchome znaczniki (np. \n i <). To rozwiązanie rozwiązuje problem omijania łagodzenia skutków wstrzykiwania znaczników daszka.

Nagłówek opcji multimediów klienta Sec-CH-Prefers-Reduced-Transparency

Nagłówek podpowiedzi klienta HTTP dotyczących funkcji multimedialnych związanych z preferencjami użytkownika definiuje zestaw nagłówków HTTP Client Hints wokół funkcji multimedialnych preferencji użytkownika, zgodnie z definicją w przypadku zapytań o media na poziomie 5. Te nagłówki, jeśli są używane jako kluczowe wskazówki klienta, pozwalają serwerom dokonywać mądrych wyborów dotyczących na przykład wbudowywania CSS. Rozszerzenie Sec-CH-Prefers-Reduced-Transparency odpowiada ustawieniom prefers-reduced-transparency użytkownika i jest dostępne od wersji Chrome 119.

Zgodne ze standardowymi znakami interpunkcyjnymi hosta adresu URL

Zadbaj o zgodność obsługi znaków interpunkcyjnych hosta przez Chrome ze standardem adresu URL. Na przykład:

Przed:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( to niedozwolony znak, ale Chrome zezwala na niego nieprawidłowo.

Po:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

Tryb szybkości transmisji bitów kodera WebCodecs

Niektóre kodeki audio obsługują określanie trybów szybkości transmisji bitów kodera audio. Ta funkcja dodaje do parametru AudioEncoderConfig WebCodec flagę "bitrateMode" z wartością domyślną "variable", która powiela opcję konfiguracji i jest już ustawiona jako domyślna w elemencie VideoEncoderConfig.

Ta flaga umożliwi programistom wybór między kodowaniem dźwięku ze zmienną szybkością transmisji bitów a stałą szybkością transmisji bitów. Konkretne implementacje kodeków mogą mieć nieco inną terminologię (np. CBR i VBR w przypadku Opus), ale wszystkie powinny być zgodne z ogólną koncepcją szybkości transmisji bitów „stała” i „zmienna”.

Obie opcje będą miały następujące skutki:

  • zmienna: umożliwia koderowi audio zwiększanie lub zmniejszanie szybkości transmisji bitów odpowiednio do treści kodowanego dźwięku w celu zachowania przepustowości/rozmiaru binarnego przy zachowaniu docelowej jakości. Na przykład koder może zmniejszyć szybkość transmisji bitów podczas kodowania ciszy i wrócić do pełnej szybkości transmisji bitów podczas kodowania mowy.
  • stała : wymusza na koderze audio stałą szybkość transmisji bitów niezależnie od treści audio. Jest to przydatne, gdy preferowane jest przewidywalne wykorzystanie przepustowości.

Od wersji Chrome 119 ta flaga będzie miała wpływ na 2 kodeki w Chromium: Opus i AAC.

Herbatka klucza X25519Kyber768 dla protokołu TLS

Chroń obecny ruch TLS w Chrome przed przyszłą kryptoanalizą kwantową, wdrażając kwantowy algorytm uzgadniania kluczy Kyber768. Jest to hybrydowa umowa kluczy X25519 i Kyber768 oparta na standardzie IETF. Ta specyfikacja i wprowadzenie nie są objęte organizacją W3C. Ta umowa klucza zostanie uruchomiona jako szyfr TLS i powinna być przejrzysta dla użytkowników.

Testowanie origin w toku

W Chrome 119 możesz włączyć tę wersję próbną

Otwieraj wyskakujące okienka jako okna pełnoekranowe

Ta nowa wersja próbna origin dodaje parametr fullscreen windowFeatures do interfejsu API JavaScript usługi window.open(). Dzięki temu rozmówca może otworzyć wyskakujące okienko bezpośrednio na pełnym ekranie, które zawiera wyskakujące okienko (na podstawie screenX i screenY). Dzięki temu deweloper nie musi ręcznie przełączać wyskakującego okienka do pełnego ekranu, co mogłoby wymagać dodania nowego sygnału aktywacyjnego użytkownika.

Wycofania i usunięcia

W tej wersji Chrome wprowadziliśmy wymienione poniżej funkcje wycofywania i usuwania. Na stronie ChromeStatus.com znajdziesz listę planowanych wycofań, bieżących wycofań oraz poprzednich usunięć.

W tej wersji Chrome usunęliśmy 4 funkcje.

Usuń Web SQL

Wcześniej ogłosiliśmy wycofanie i usunięcie usługi Web SQL. Ta funkcja jest całkowicie wycofana z Chrome 119. Test odwrotnego źródła umożliwia deweloperom korzystanie z WebSQL do wersji Chrome 123.

Usuń interfejs Sanitizer API

Interfejs Sanitizer API ma na celu zbudowanie łatwego w użyciu, zawsze bezpiecznego, obsługiwanego przez przeglądarkę narzędzia do dezynfekcji HTML. Na podstawie obowiązującej w danym czasie wersji roboczej specyfikacji Chrome udostępniliśmy wstępną wersję Chrome 105. Dyskusja w dalszym ciągu poszła jednak dalej i proponowany kształt interfejsu API znacznie się zmienił.

Usuwamy bieżącą implementację, aby zapobiec uwięzieniu obecnego interfejsu API. Planujemy ponownie wdrożyć interfejs Sanitizer API, gdy proponowana specyfikacja znów się ustabilizuje.

Usuwanie danych: adres URL w SVGUseElement

Przypisanie data: URL w SVGUseElement może spowodować atak XSS. Doprowadziło to również do obejścia zasad dotyczących zaufanych typów. W związku z tym planujemy wycofać i wspierać tę funkcję.

Usuń niestandardowy atrybut shadowroot z deklaratywnego modelu cienia

Atrybut shadowrootmode w ścieżce standardów, który umożliwia korzystanie z deklaratywnego modelu Shadow DOM, został wysłany w Chrome 111. Starszy, niestandardowy atrybut shadowroot zostanie usunięty w Chrome 119. Istnieje prosta ścieżka migracji: zastąp shadowroot adresem shadowrootmode.