Chrome 107 w wersji beta

Dodatki do interfejsu Screen Capture API, interpolacja właściwości CSS grid-template i inne.

O ile nie zaznaczono inaczej, opisane poniżej zmiany dotyczą najnowszej wersji beta Chrome na Androida, ChromeOS, Linuksa, macOS i Windows. Więcej informacji o funkcjach wymienionych poniżej znajdziesz w podanych linkach lub na liście na stronie ChromeStatus.com. Chrome 107 jest w wersji beta od 29 września 2022 r. Najnowszą wersję możesz pobrać na Google.com na komputer lub w Sklepie Google Play na Androida.

Interpolacja właściwości CSS grid-template

W siatce CSS właściwości grid-template-columns i grid-template-rows umożliwiają deweloperom definiowanie nazw linii oraz określanie rozmiarów kolumn i wierszy siatki. Dzięki pomocy osób z Microsoftu obsługujemy teraz interpolację w przypadku tych właściwości. Układy siatki mogą teraz płynnie przechodzić między stanami, zamiast zatrzymywać się w połowie animacji lub przejścia.

Ustawienia udostępniania ekranu z zachowaniem prywatności

Interfejs Screen Capture API wprowadza dodatki do istniejącego interfejsu Media Capture and Streams API, które umożliwiają użytkownikowi wybranie ekranu lub jego części (np. okna) do przechwycenia jako strumienia multimediów. Strumień można nagrać lub udostępnić innym osobom w sieci. W tej wersji beta dodaliśmy do tego interfejsu API kilka nowych funkcji.

DisplayMediaStreamConstraints.selfBrowserSurface

Wskazówka umożliwiająca aplikacjom internetowym instruowanie przeglądarki, czy po wywołaniu funkcji getDisplayMedia() bieżąca karta powinna zostać wykluczona z listy kart oferowanych użytkownikowi.

Zapobiega to przypadkowemu przechwytywaniu obrazu z własnego ekranu, gdy użytkownicy przypadkowo wybiorą kartę, na której działa aplikacja. Powoduje to efekt „sali luster”, który dezorientuje użytkowników i utrudnia rozmowy z osobami zdalnymi.

DisplayMediaStreamConstraints.surfaceSwitching

Dodaje opcję programowego sterowania tym, czy Chrome wyświetla przycisk przełączania kart podczas udostępniania ekranu. Ta opcja zostanie przekazana do navigator.mediaDevices.getDisplayMedia().

Przycisk Udostępnij tę kartę zamiast umożliwia użytkownikom łatwe przełączanie udostępnianej karty bez konieczności ponownego wybierania karty wideokonferencji, klikania przycisku w celu ponownego uruchomienia getDisplayMedia() lub wybierania nowej karty z długiej listy kart. To zachowanie jest udostępniane warunkowo, ponieważ nie wszystkie aplikacje internetowe są w stanie je obsłużyć.

MediaTrackConstraintSet.displaySurface

Gdy wywoływana jest funkcja getDisplayMedia(), przeglądarka oferuje użytkownikowi wybór powierzchni wyświetlania: karty, okna lub monitory. Za pomocą ograniczenia displaySurface aplikacja internetowa może teraz sugerować przeglądarce, czy woli, aby określony typ powierzchni był bardziej widoczny dla użytkownika.

Dowiedz się więcej o tym, jak te funkcje pomagają uniknąć przypadkowego udostępniania zbyt wielu informacji

Stan blokowania renderowania w interfejsie Resource Timing

Dodaje do PerfomanceResourceTiming pole wskazujące, czy zasób blokuje renderowanie. Obecnie z perspektywy dewelopera jedynym sposobem na określenie, które zasoby blokowały renderowanie, jest poleganie na złożonych heurystykach. Nowe pole dostarczałoby bezpośredniego sygnału dotyczącego tego samego.

Symbole wieloznaczne w źródłach zasad uprawnień

Ta funkcja dodaje obsługę symboli wieloznacznych w zasadach dotyczących uprawnień o strukturze SCHEME://*.HOST:PORT (np. https://*.foo.com/), gdzie prawidłowe źródło można utworzyć na podstawie SCHEME://HOST:PORT (np. https://foo.com/). Wymaga to, aby HOST był co najmniej domeną eTLD+1 (domeną, którą można zarejestrować). Oznacza to, że https://*.bar.foo.com/ działa, ale https://*.com/ nie. Symbole wieloznaczne w sekcji schematu i portu nie będą obsługiwane, a https://*.foo.com/ nie będzie przekazywać uprawnień do https://foo.com/. Wcześniej zasady uprawnień mogły wyglądać tak:

permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://cdn1.foo.com" "https://cdn2.foo.com")

Dzięki tej funkcji możesz korzystać z:

permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://*.foo.com")

Obsługa atrybutu rel w elementach <form>

Ta funkcja dodaje do elementów formularza atrybut rel, który umożliwia zapobieganie występowaniu atrybutu window.opener w witrynach, do których prowadzą elementy formularza z atrybutem rel=noopener, a także zapobiega wysyłaniu nagłówka odsyłającego z atrybutem rel=noreferrer.

Wersje próbne origin

W tej wersji Chrome wprowadziliśmy 2 nowe testy origin.

Declarative PendingBeacon API

Interfejs API sygnałów stanu, który umożliwia przeglądarce kontrolowanie, kiedy sygnały są wysyłane. Sygnał to pakiet danych wysyłany na serwer backendu bez oczekiwania konkretnej odpowiedzi. Często warto wysyłać te dane na koniec wizyty użytkownika na stronie, ale nie ma dobrego momentu na wykonanie wywołania „send”. Ten interfejs API deleguje wysyłanie do samej przeglądarki, dzięki czemu może obsługiwać sygnały nawigacyjne podczas zamykania lub ukrywania strony bez konieczności implementowania przez dewelopera wywołań wysyłania w odpowiednim czasie.

Wersja próbna będzie działać do Chrome 109. Zarejestruj się, aby skorzystać z okresu próbnego

Permissions-Policy: unload

Ta funkcja umożliwia stronom wyłączanie modułów obsługi zdarzeń wyładowywania. Chodzi o to, aby witryny, które usunęły wszystkie procedury obsługi zdarzenia unload, nie dodawały przypadkowo nowych. Pomoże to witrynom wycofać moduły obsługi zdarzeń wyładowania, a tym samym zwiększyć odsetek trafień w pamięci podręcznej wstecz/do przodu.

Wersja próbna będzie działać do Chrome 109. Zarejestruj się, aby skorzystać z okresu próbnego

Wycofania i usunięcia

Ta wersja Chrome wprowadza wycofania i usunięcia wymienione poniżej. Listy planowanych wycofań, bieżących wycofań i poprzednich usunięć znajdziesz na stronie ChromeStatus.com.

Ta wersja Chrome wycofuje jedną funkcję.

Expect-CT

Expect-CT to nagłówek HTTP, który umożliwiał witrynom włączenie egzekwowania przejrzystości certyfikatów, zanim zaczęło być ono egzekwowane domyślnie. Ma też funkcję raportowania, która pomaga deweloperom wykrywać błędne konfiguracje CT.

Nagłówek HTTP Expect-CT został zaprojektowany, aby ułatwić przejście na powszechne egzekwowanie przejrzystości certyfikatów (CT). Umożliwia on witrynom o wysokiej wartości włączenie egzekwowania lub raportowania CT w celu zwiększenia bezpieczeństwa, zanim egzekwowanie CT stało się wymagane (przez Chrome) we wszystkich publicznych witrynach. Expect-CT przestał jednak być użyteczny. Chrome wymaga obecnie CT we wszystkich publicznych witrynach, więc Expect-CT nie ma już wartości związanej z bezpieczeństwem. Żadna inna przeglądarka nie zaimplementowała Expect-CT, więc usunięcie tego elementu nie wpłynie na interoperacyjność.