Chrome 111 w wersji beta

Nowe typy i przestrzenie kolorów CSS, funkcje trygonometryczne CSS oraz interfejs View Transitions API.

O ile nie zaznaczono inaczej, poniższe zmiany dotyczą najnowszej wersji Chrome w kanale beta na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o funkcjach wymienionych w tym artykule znajdziesz, klikając odpowiednie linki lub na stronie ChromeStatus.com. Od 9 lutego 2023 r. Chrome 111 jest w wersji beta. Najnowszą wersję możesz pobrać na stronie Google.com na komputerze lub w Sklepie Google Play na urządzeniu z Androidem.

CSS

Nowe typy i przestrzenie kolorów w CSS

Wszystkie funkcje opisane w CSS Color Level 4 są teraz włączone. Obejmuje to 4 typy kolorów niezależne od urządzenia (lab, Oklab, lch i Oklch), funkcję color() oraz zdefiniowane przez użytkownika przestrzenie barw dla gradientów i animacji.

Aby dowiedzieć się więcej o tych nowych typach i przestrzeniach kolorów, przeczytaj przewodnik po kolorach CSS w wysokiej rozdzielczości.

Funkcja color-mix()

Dodano też bardzo przydatną funkcję color-mix() z CSS Color 5. Ta funkcja umożliwia mieszanie procentowe jednego koloru z innym w dowolnej obsługiwanej przestrzeni kolorów. W tym przykładzie 10% koloru blue zostaje zmieszane z kolorem white w profilu SRGB.

.item {
  background-color: color-mix(in srgb, blue 10%, white);
}

Selektory arkusza CSS 4. Pseudoklasa :nth-child(an + b of S)

Rozszerza :nth-child(an + b) i :nth-last-child(), aby uwzględnić selektor. Na przykład :nth-child(3 of .c) to trzeci .c w danym elemencie nadrzędnym. Aby dowiedzieć się więcej, przeczytaj wpis Więcej kontroli nad wyborami :nth-child() za pomocą składni of S.

Jednostki czcionki w kodzie źródłowym CSS

Dodaje do istniejącej jednostki czcionki głównej rem jednostki czcionki głównej: rex, rch, ricrlh.

Funkcje trygonometryczne w CSS

Do wyrażeń matematycznych w CSS dodano funkcje trygonometryczne sin(), cos(), tan(), asin(), acos(), atan(), atan2().

Zapytania dotyczące kontenera stylów w przypadku właściwości niestandardowych w CSS

Dodaje funkcję style() do reguł @container, aby umożliwić stosowanie stylów na podstawie obliczonych wartości właściwości niestandardowych elementu nadrzędnego.

Właściwość baseline-source

Właściwość baseline-source pozwala twórcom stron internetowych określić, czy pole na poziomie inline powinno używać linii bazowej first czy last do wyrównywania w ramach linebox.

Interfejsy Web API

Uprawnienie window-management i ciąg znaków zasad dotyczących uprawnień

Chrome 111 dodaje window-management jako alias dla uprawnień window-placement i strun uprawnień. Jest to część większego projektu polegającego na zmianie nazw ciągów znaków, który ostatecznie spowoduje wycofanie i usunięcie window-placement. Zmiana terminologii wydłuża okres przydatności deskryptora, ponieważ interfejs Window Management API będzie się z czasem rozwijać.

Interfejs Media Session API: prezentowanie slajdu

Dodaje do dotychczasowego interfejsu Media Session API działania previousslidenextslide.

Możliwość zmiany rozmiaru ArrayBuffer i rozwijania SharedArrayBuffer

Rozszerz konstruktory ArrayBuffer, aby uwzględniały dodatkową maksymalną długość, która umożliwia zwiększanie i zmniejszanie buforów. Podobnie SharedArrayBuffer ma dodatkową maksymalną długość, która umożliwia wzrost.

Reguły spekulacyjne: klucz zasad dotyczących strony odsyłającej

Rozszerza ona składnię reguł spekulacyjnych, aby umożliwić deweloperom określenie zasad dotyczących witryn odsyłających, które mają być używane w przypadku żądań spekulacyjnych wywoływanych przez reguły spekulacyjne. Wprowadziliśmy też ponownie zasadę „wystarczająco rygorystycznych odnośników”.

Transmisja deklaratywnego shadow DOM

Dodaje obsługę strumieniowania, dołączając katalog główny cienia do otwierającego, a nie zamykającego tagu szablonu.

Wyświetlanie interfejsu Transitions API

Umożliwia tworzenie dopracowanych przejść w aplikacjach jednostronicowych (SPA) przez wykonywanie migawek widoków i zmienianie DOM bez nakładania się stanów. Użyj opcji Przejścia między widokami, aby utworzyć przejścia niestandardowe, lub użyj prostego przejścia typu crossfade, aby ulepszyć wrażenia użytkowników.

Aby dowiedzieć się więcej i zobaczyć przykłady przejść, przeczytaj artykuł dla programistów Chrome.

Rozszerzenia WebRTC Scalable Video Coding

To rozszerzenie definiuje standardową metodę wyboru konfiguracji skalowanego kodowania wideo (SVC) na wychodzącym ścieżce wideo WebRTC.

Atrybut WebXR enabledFeatures

Zwraca zestaw funkcji, które zostały włączone dla tego XRSession zgodnie z definicją XRSessionInit, oraz funkcje domyślne wymagane przez specyfikację dla danego trybu i funkcji. W przypadku sesji przyznanej zawiera ona wszystkie requiredFeatures, ale może być podzbiorem optionalFeatures. Większość funkcji ma alternatywne sposoby wykrywania, czy zostały one przyznane. W przypadku niektórych funkcji sygnał o tym, czy funkcja została włączona, może być powiązany z danymi o tym, że funkcja jest obecnie niedostępna, a nie, że nigdy nie będzie dostępna. Dzięki zapytaniu enabledFeatures możesz określić, czy mają być wyświetlane przydatne wskazówki (np. dotyczące ulepszenia lub rozpoczęcia śledzenia) lub czy dana funkcja nigdy nie będzie obsługiwana w bieżącej sesji.

Trwające wersje próbne origin

W Chrome 111 możesz wziąć udział w tych nowych testach origin.

Wycofanie próby usunięcia obejścia connect-src CSP w interfejsie Web Payment API

Wycofanie możliwości pomijania przez Web Payment API dyrektywy CSP connect-src podczas pobierania pliku manifestu. Po wycofaniu tej dyrektywy dyrektywa CSP connect-src witryny musi zezwalać na adres URL formy płatności określony w wywołaniu PaymentRequest, a także na wszystkie inne adresy URL, które metoda łańcucha używa do pobierania pliku manifestu.

Ta możliwość została usunięta w Chrome 111, a w wersji 113 udostępniono opcję odwrócenia pochodzenia, aby umożliwić deweloperom tymczasowe ponowne włączenie tej funkcji. Aby skorzystać z tej opcji, zarejestruj się w wersji próbnej odwrotnego wycofania dla obejścia connect-src CSP.

Dokumentacja trybu Obraz w obrazie

Interfejs Document Picture-in-Picture API to nowy interfejs API, który umożliwia otwieranie okna zawsze widocznego na wierzchu, w którym można wyświetlić dowolne treści HTML. Jest to rozszerzenie dotychczasowego interfejsu Picture-in-Picture API, który umożliwia umieszczanie w oknie PiP tylko elementu HTMLVideoElement. Dzięki temu deweloperzy mogą zapewnić użytkownikom lepsze wrażenia z korzystania z okna PiP.

Zapoznaj się z dokumentacją dotyczącą okna Picture-in-Picture w dokumencie.

Zarejestruj się, aby skorzystać z wersji próbnej funkcji obraz w obrazie w dokumentach.

Wycofanie i usunięcie

W tej wersji Chrome wprowadzamy wycofanie i usunięcie funkcji wymienionych poniżej. Na stronie ChromeStatus.com znajdziesz listy planowanych, bieżących i poprzednich wycofań.

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

Usuń PaymentInstruments

PaymentInstruments to interfejs internetowy, który obsługuje instalację aplikacji płatniczych bez JIT (https://w3c.github.io/payment-handler/). Został on zaprojektowany z założenia, że przeglądarka będzie przechowywać rzeczywiste dane instrumentu płatniczego, co okazało się nieprawdą, i spowodowało wycieki danych. Nie jest ona też dostępna w żadnej innej przeglądarce, a producenci innych przeglądarek nie wykazywali zainteresowania. W związku z tym ten interfejs API został wycofany i usunięty.

Usuń connect-src obejście CSP w interfejsie Web Payment API

Wycofanie możliwości pomijania przez Web Payment API zasad CSP connect-src podczas pobierania pliku manifestu. Po usunięciu tej dyrektywy w zasadach CSP witryny connect-src musisz zezwolić na adres URL formy płatności określony w wywołaniu PaymentRequest, a także na wszystkie inne adresy URL, które metoda łańcucha używa do pobrania pliku manifestu.

Informacje o metodach korzystania z wersji próbnych wycofanych funkcji, które dają więcej czasu na wprowadzenie zmian wymaganych z powodu usunięcia tych funkcji.

Tożsamość sprzedawcy w zdarzeniu canmakepayment

Zdarzenie canmakepayment w workerze usługi informuje sprzedawcę, czy użytkownik ma zarejestrowaną kartę w zainstalowanej aplikacji do płatności. Służyło ono do przekazywania pochodzenia sprzedawcy i dowolnych danych do workera usługi z pochodzeniem aplikacji do płatności. Ta komunikacja między domenami miała miejsce podczas tworzenia obiektu PaymentRequest w JavaScript. Nie wymagała interakcji użytkownika i nie wyświetlała żadnego interfejsu. Ten cichy przesył danych został usunięty ze zdarzenia canmakepayment i z intencji IS_READY_TO_PAY na Androidzie.