Chrome 119 w wersji beta udostępnia m.in. względną składnię kolorów CSS, nowe pseudoklasy.
O ile nie zaznaczono inaczej, opisane zmiany dotyczą najnowszej wersji wersji beta Chrome na systemy Android, ChromeOS, Linux, macOS i Windows. Więcej informacji o funkcjach znajdziesz, klikając odpowiednie linki lub korzystając z listy na ChromeStatus.com. Chrome 119 jest w wersji beta od 4 października 2023 r. Najnowsze wersje możesz pobrać ze strony Google.com na komputer lub ze Sklepu Google Play na urządzeniu z Androidem.
CSS
W tej wersji dodaliśmy cztery nowe funkcje CSS.
:user-valid i :user-invalid pseudoklasy CSS CSS
Pseudoklasy :user-invalid
i :user-valid
reprezentują element z błędnymi lub prawidłowymi danymi wejściowymi, ale tylko wtedy, gdy użytkownik wszedł z nim w interakcję. Jest to podobne do :valid
i :invalid
, z dodatkowym ograniczeniem, które powoduje, że te pseudoklasy są zgodne dopiero po interakcji użytkownika z elementem.
Składnia koloru względnego CSS (RCS)
Względna składnia kolorów umożliwia programistom definiowanie kolorów przez modyfikowanie parametrów innych kolorów.
Na przykład: oklab(from magenta calc(l * 0.8) a b);
tworzy kolor oklab purpurowy, który jest o 80% lżejszy.
Wartości pola geometrycznej ścieżki do klipu CSS
Właściwość CSS clip-path
obsługuje teraz wartości <geometry-box>
, aby sterować polem referencyjnym klipu, dzięki czemu korzystanie z pola clip-path
jest łatwiejsze. Tych wartości można używać obok podstawowych kształtów (np. clip-path: circle(50%) margin-box
) lub używać ich jako pojedynczych przypiętych wartości do określonego pola (np. clip-path: content-box
).
Wartości xywh() i rect() CSS clip-path
Chrome obsługuje teraz wartości xywh()
i rect()
właściwości clip-path
, co ułatwia dodawanie prostokątnych lub zaokrąglonych i prostokątnych klipów.
Internetowe interfejsy API
Górny limit atrybutu data ważności pliku cookie/maksymalny wiek pliku cookie przed przechowywaniem
Od wersji Chrome 104 nowo utworzone pliki cookie lub pliki z datą ważności są wyłączone po maksymalnie 400 dniach w przyszłości. Ten sam limit będzie teraz stosowany z mocą wsteczną do plików cookie, które są już przechowywane. Okres ważności tych plików nie może być dłuższy niż 400 dni od pierwszego uruchomienia Chrome 119 lub nowszego i przeprowadzenia jednorazowej migracji bazy danych. Wpływ tej zmiany będzie widoczny dla użytkowników dopiero po upływie co najmniej 400 dni od udostępnienia Chrome 119, a następnie w przypadku istniejących plików cookie, które nie były aktualizowane w tym okresie.
DisplayMediaStreamOptions monitorTypeSurface
Po wywołaniu interfejsu getDisplayMedia()
przeglądarka oferuje użytkownikowi wybór różnych platform wyświetlania: kart, okien lub monitorów. Przy użyciu opcji monitorTypeSurfaces
aplikacja internetowa może teraz wskazywać przeglądarce wskazówkę, czy w opcjach dostępnych dla użytkownika powinna uwzględnić platformy wyświetlania, których typ to monitor.
Aktualizacje funkcji Fenced Frames
Chrome 119 zawiera poniższe ulepszenia zabezpieczonych ramek.
W interfejsie Protected Audience API w Piaskownicy prywatności dostępna jest dodatkowa opcja formatu makr rozmiaru reklamy w ramach Protected Audience API. Włączenie tej funkcji umożliwia dodanie do adresu 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 API, takich jak te używane przez deprecatedReplaceInURN
i registerAdMacro
, w Chrome 119 dodajemy możliwość używania ${AD_WIDTH}
i ${AD_HEIGHT}
jako formatów makr w uzupełnieniu obecnego formatu.
Automatyczne beacony będą teraz wysyłać do wszystkich zarejestrowanych adresów URL. Wcześniej tylko miejsca docelowe określone podczas wywoływania funkcji setReportEventDataForAutomaticBeacons()
otrzymują automatyczne beacony, nawet jeśli to miejsce docelowe nazywało się registerAdBeacon()
dla "reserved.top_navigation"
w swoim obszarze roboczym. Teraz każde miejsce docelowe o nazwie registerAdBeacon()
dla "reserved.top_navigation"
otrzyma automatyczny beacon, ale tylko miejsca docelowe określone w setReportEventDataForAutomaticBeacons()
będą otrzymywać automatyczne dane beaconu wraz z beaconem. Parametr "once"
w elemencie setReportEventDataForAutomaticBeacons()
określa teraz, czy dane są wysyłane tylko raz, czy nie, czy cały beacon jest wysyłany tylko raz.
Margines przewijania obserwatora odcinka
Właściwość Observer Intersection scrollMargin
umożliwia programistom obserwowanie celów wewnątrz zagnieżdżonych kontenerów przewijania, które są obecnie obcięte przez kontenery przewijania. Jest to możliwe dzięki rozwinięciu prostokąta przycinania kontenera przy użyciu parametru scrollMargin
podczas obliczania przecięcia.
Kontenery przewijania dostępne z klawiatury
Ta funkcja ułatwia dostępność, umożliwiając zaznaczanie kontenerów przewijania za pomocą sekwencyjnej nawigacji zaznaczenia. Wcześniej klawisz Tab nie wyróżniał elementów przewijających, chyba że parametr TabIndex miał wartość 0 lub większą. Jeśli umożliwisz przewijanie domyślnie możliwość zaznaczenia elementów, użytkownicy, którzy nie mogą (lub nie chcą) używać myszy, będą mogli zaznaczyć klipy i treści za pomocą kart i klawiszy strzałek na klawiaturze. To zachowanie jest włączone tylko wtedy, gdy pasek przewijania nie zawiera żadnych elementów podrzędnych, które można zaznaczyć za pomocą klawiatury.
Ograniczenia dostępu do sieci prywatnej w branży motoryzacyjnej
Egzekwuj (zamiast tylko ostrzegać) ograniczenia dostępu do sieci prywatnej w Chrome na Androida Automotive (jeśli BuildInfo::is_automotive
). Obejmuje to żądania wstępne dostępu do sieci prywatnej do zasobów podrzędnych i dostępu do sieci prywatnej dla instancji roboczych.
Odczytywanie atrybutów urządzenia z Chrome
Interfejs API atrybutów urządzeń to podzbiór interfejsu Managed Device Web API, który umożliwia aplikacjom internetowym wysyłanie zapytań o informacje o urządzeniach. Mogą to być na przykład identyfikator urządzenia, numer seryjny i lokalizacja.
Zastąp zwisające znaczniki w nazwie celu na _blank
Ta zmiana zastępuje nazwę celu nawigacji (zwykle ustawianą przez atrybut ustalony) na _blank
, jeśli zawiera ona zwisające znacznik (np. \n
i <
). Naprawia to omijanie zabezpieczeń w ramach łagodzenia skutków wstrzykiwania znaczników.
Sec-CH-Prefers-Reduced-Transparency: funkcje multimedialne dotyczące ustawień użytkownika, nagłówek Wskazówki dla klienta
Nagłówek funkcji multimedialnych z preferencjami użytkownika definiuje zestaw nagłówków wskazówek dotyczących klienta HTTP związanych z funkcjami multimedialnymi ustawionymi przez użytkownika zgodnie z definicją w sekcji Zapytania o multimedia na poziomie 5. Nagłówki te, używane jako kluczowe wskazówki dla klienta, pozwalają serwerom podejmować trafne decyzje dotyczące na przykład wstawiania CSS. Funkcja Sec-CH-Prefers-Reduced-Transparency
jest zgodna z ustawieniami użytkownika prefers-reduced-transparency
i jest dostępna w Chrome w wersji 119.
Znaki interpunkcyjne w adresach URL hostów zgodnych ze standardami
Upewnij się, że obsługa znaków interpunkcyjnych w adresach URL hostów w Chrome musi być zgodna ze standardem adresów URL. Na przykład:
Przed:
> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/'
(
to niedozwolony znak, ale Chrome błędnie zezwala na jego używanie.
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 kodera audio. Ta funkcja dodaje flagę "bitrateMode"
z wartością domyślną "variable"
do jego AudioEncoderConfig
w WebCodec, co odzwierciedla opcję konfiguracji i domyślnie już obowiązującą w klastrze VideoEncoderConfig
.
Pozwala on deweloperom wybierać między kodowaniem dźwięku o zmiennej lub stałej szybkości transmisji bitów. Określone implementacje kodeków mogą mieć nieco inną terminologię (np. CBR
i VBR
w przypadku Opus), ale wszystkie powinny odpowiadać ogólnemu pojęciu „stałej” a „zmienna” szybkość transmisji bitów.
Skutki tych 2 opcji są następujące:
- zmienna: umożliwia koderowi audio zwiększenie lub zmniejszenie szybkości transmisji bitów w zależności od treści kodowanych treści audio, aby zachować przepustowość/rozmiar pliku binarnego przy zachowaniu docelowej jakości. Koder może na przykład zmniejszyć szybkość transmisji bitów podczas kodowania ciszy i wrócić do pełnej szybkości transmisji podczas kodowania mowy.
- stały : wymusza przez koder audio utrzymanie tej samej szybkości 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 dotyczyć 2 kodeków w Chromium: Opus i AAC.
Kodowanie klucza X25519Kyber768 na potrzeby protokołu TLS
Chroń bieżący ruch TLS w Chrome przed przyszłą kryptoanalizą kwantową, wdrażając odporny kwantowy algorytm uzgadniania kluczy Kyber768. Jest to hybrydowa uzgadnianie kluczy X25519 i Kyber768 oparte na standardzie IETF. Ta specyfikacja i premiera wykraczają poza zakres W3C. Ta uzgadnianie kluczy zostanie uruchomiona jako szyfrowanie TLS i powinna być niezauważalna dla użytkowników.
Trwa testowanie origin
W Chrome 119 możesz włączyć tę nową wersję próbną origin.
Otwieraj wyskakujące okienka jako okna pełnoekranowe
Ta nowa wersja próbna origin dodaje parametr windowFeatures (fullscreen
) do interfejsu window.open()
JavaScript API. Dzięki temu rozmówca może bezpośrednio otworzyć wyskakujące okienko, które będzie je zawierać, na pełnym ekranie (na ekranach X i ScreenY). Dzięki temu deweloper nie musi ręcznie przełączać wyskakującego okienka na pełny ekran, co może wymagać nowego sygnału aktywacji użytkownika.
Wycofania i usuwanie
Ta wersja Chrome wprowadza informacje o wycofaniach i usunięciach wymienionych poniżej. Na ChromeStatus.com znajdziesz listy planowanych wycofania, obecnie wycofanych funkcji i wcześniejszych usunięć.
W tej wersji Chrome usunęliśmy cztery funkcje.
Usuń Web SQL
Ogłosiliśmy wcześniej wycofanie i usunięcie Web SQL. Ta funkcja jest całkowicie usunięta od Chrome 119. Dzięki odwrotnej wersji próbnej origin deweloperzy mogą używać bazy danych WebSQL w wersji Chrome 123.
Usunięcie interfejsu Sanitizer API
Celem interfejsu Sanitizer API jest stworzenie na platformie łatwego w użyciu, zawsze bezpiecznego i prostego w obsłudze narzędzia HTML do dezynfekcji HTML. Przeglądarka Chrome przesłała wstępną wersję Chrome 105 na podstawie aktualnej wersji roboczej specyfikacji. Jednak w międzyczasie dyskusja toczy się dalej i proponowany kształt interfejsu API znacząco się zmienił.
Aby zapobiec zakłóceniu obecnego interfejsu API, usuwamy bieżącą implementację. Planujemy ponownie zaimplementować interfejs Sanitizer API, gdy proponowana specyfikacja znowu się ustabilizuje.
Usuń dane: adres URL w SVGUseElement
Przypisanie data: URL
w SVGUseElement
może spowodować XSS. Doprowadziło to również do ominięcia zaufanych typów. Dlatego planujemy wycofać i usunąć obsługę tej funkcji.
Usuń niestandardowy atrybut shadowroot
na potrzeby deklaratywnego shadow DOM
Atrybut ścieżki standardowej shadowrootmode
, który umożliwia deklaratywny model DOM Shadow, został wprowadzony w Chrome 111. Starszy, niestandardowy atrybut shadowroot
jest usuwany w Chrome 119. Jest prosta ścieżka migracji: zastąp shadowroot
elementem shadowrootmode
.