Chrome 116 w wersji beta

Ścieżka animacji CSS, interfejs API NotRestoredReason w pamięci podręcznej stanu strony internetowej, obraz w obrazie dokumentu i inne funkcje.

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 liście, korzystając z podanych linków lub z listy na ChromeStatus.com. Od 19 lipca 2023 r. przeglądarka Chrome 116 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 2 nowe funkcje CSS.

Ścieżka CSS Motion

Ścieżka animacji umożliwia autorom położenie dowolnego obiektu graficznego i animowanie go na ścieżce określonej przez programistę. To daje wiele nowych możliwości przekształcania, takich jak pozycjonowanie za pomocą współrzędnych biegunowych (przy użyciu funkcji ray()) zamiast standardowych prostokątnych współrzędnych używanych przez funkcję translate() lub animowanie elementu wzdłuż zdefiniowanej ścieżki. Dzięki temu łatwiej jest definiować złożone i piękne przejścia przestrzenne 2D. Ścieżkę można określić jako circle(), ellipse(), rect(), inset(), xywh(), polygon(), ray() i url().

Animacje związane z wyświetlaniem i widocznością treści

Chrome 116 obsługuje w animacjach klatek kluczowych właściwości display i content-visibility. Ta obsługa pozwala programistom tworzyć animacje wyjściowe, po których element automatycznie zmienia się w display: none lub content-visibility: hidden, bez konieczności pisania kodu JavaScript do obsługi tego przełącznika po zakończeniu animacji. Umożliwia to animacje wyjścia dla elementów dodawanych wyłącznie w CSS.

Internetowe interfejsy API

AbortSignal.any()

Zwraca sygnał, który zostaje przerwany po przerwaniu dowolnego z sygnałów źródłowych. Deweloperzy mogą wykorzystać to do łączenia niezależnych źródeł przerw, na przykład limitów czasu określonych za pomocą atrybutu AbortSignal.timeout() i sygnałów powiązanych z kontrolerem AbortController, oraz do przekazywania ich do asynchronicznych interfejsów API, takich jak fetch().

Obsługa BYOB w przypadku pobierania

Implementacja ReadableStream w Chrome obsługuje czytniki typu BYOB (BYOB) w przypadku czytelnych strumieni bajtów. Obecnie Response.body jest też czytelnym strumieniem bajtów, a nie „domyślny” przeznaczony do odczytu. Dzięki temu można używać interfejsu Fetch API z czytnikami BYOB, co zmniejsza ilość powodowanych śmieci i zmniejsza liczbę kopii, a także poprawia czas reakcji użytkowników. Blob.stream() również korzysta z tej optymalizacji.

Interfejs API NotRestoredReason w pamięci podręcznej stanu strony internetowej

Interfejs API NotRestoredReason wyświetli listę powodów, dla których strona nie jest wyświetlana z pamięci podręcznej BFcache, w strukturze drzewa ramek za pomocą interfejsu PerformanceTrackingTiming API.

Obraz w obrazie dokumentu

Obraz w obrazie dokumentu dodaje nowy interfejs API, który umożliwia otwieranie okna zawsze na górze, które można wypełnić dowolnymi wartościami HTMLElements. Jest to rozszerzenie istniejącego interfejsu API HTMLVideoElement, które umożliwia umieszczanie w oknie obrazu w obrazie tylko elementu HTMLVideoElement. Dzięki temu deweloperzy stron internetowych mogą zapewnić użytkownikom lepsze wrażenia podczas korzystania z funkcji PiP.

Rozwinięte symbole wieloznaczne w źródłach zasad dotyczących uprawnień

Symbole wieloznaczne subdomen na listach dozwolonych zapewniały pewną elastyczność, ale różnią się od istniejących parserów symboli wieloznacznych i wymagają nowatorskiego kodu i specyfikacji. Ta intencja zmniejszy to obciążenie przez ponowne wykorzystanie części istniejącej specyfikacji Content Security Policy i dodanie aplikacji scheme + wildcard domain i wildcard port do listy dozwolonych. W szczególności intencja ta przyjmie definicję źródła hosta i źródła schematu zamiast źródła z definicji listy dozwolonych, wymagając, aby część ścieżki była pusta (ponieważ do pasujących źródeł mają zastosowanie zasady dotyczące uprawnień).

Pakiet FedCM: Login Hint API, User Info API i RP Context API

Ta pakietowa aktualizacja umożliwia dostosowanie sfederowanych procesów logowania korzystających z interfejsu Federated Credential Management API (FedCM).

Dzięki interfejsowi Login Hint API strona uzależniona (RP) może określić wskazówkę na temat konta użytkownika, które ma być wyświetlane w interfejsie FedCM. Służy to głównie do poprawy komfortu korzystania z witryny przez powracających użytkowników.

Interfejs User Info API umożliwia dostawcy tożsamości pobieranie informacji o użytkowniku, dzięki czemu może on spersonalizować sposób logowania się dla powracających użytkowników, na przykład przy użyciu spersonalizowanych przycisków „Zaloguj się przez dostawcę tożsamości”.

Za pomocą interfejsu RP Context API może ona zażądać w oknie FedCM zmiany tytułu „Zaloguj się” na „Zarejestruj się”, „Użyj” lub „Kontynuuj”, aby dopasować faktyczną intencję użytkownika.

Zdarzenia wejścia/opuszczenia przy użyciu myszy i wskaźnika nieutworzonego

Ustaw właściwość event.composed w zdarzeniach mouseenter, mouseleave, pointerenter i pointerleave"false", aby była zgodna ze specyfikacją i uzupełniła luki w interakcjach. Specyfikacja zdarzeń UI dla zdarzeń myszy i specyfikacja zdarzeń wskaźnika określają te zdarzenia jako nieskonstruowane. Kilka lat temu obie specyfikacje zostały wycofane z pierwotnych definicji: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461. Oprócz rozwiązania problemu z interoperacyjnością ta zmiana dotyczy również błędnego podwójnego lub potrójnego wysyłania tych zdarzeń do hosta cienia w elemencie shadow DOM w Chromium.

Usuwanie dziedziczenia document.open w piaskownicy

Obecnie flagi piaskownicy wywołującego są obecnie stosowane do osoby wywołującej, gdy document.open kieruje reklamy na inne okno. Po tej zmianie ta sytuacja nie będzie już obowiązywać.

Zgłoś błąd krytyczny-CH w sekcji NavigationTiming

Witryny mogą wskazywać, że dana wskazówka klienta ma kluczowe znaczenie dla strony, umieszczając ją w nagłówku odpowiedzi HTTP Critical-CH. Spowoduje to ponowne uruchomienie połączenia, jeśli wskazówka zawarta w nagłówku odpowiedzi HTTP Critical-CH mogłaby być (ale nie została) uwzględniona w początkowo wysłanym żądaniu HTTP. Ta intencja proponuje dodanie readonly attribute DOMHighResTimeStamp criticalCHRestart; do interfejsu PerformanceNavigationTiming.

Testowanie origin w toku

W Chrome 116 możesz włączyć te nowe testy origin.

COOP: usługi objęte ograniczeniami

Cross-Origin-Opener-Policy – służy do przerywania relacji między wyskakującymi okienkami a otwieraniami w celu zwiększenia bezpieczeństwa. „restrict-properties” to proponowana wartość, która ogranicza relację, a nie jej całkowite odcięcie. Spowoduje to włączenie crossOriginIsolated w przypadku sparowania z COEP.

Zarejestruj się, aby wziąć udział w okresie testowania źródeł ograniczonych COOP

Interfejs API stanu logowania FedCM

Interfejs dostawca logowania w interfejsie API do zarządzania danymi logowania (FedCM) pozwala dostawcy tożsamości informować przeglądarkę o logowaniu się lub wylogowaniu się użytkowników. Dzięki temu FedCM może poprawiać właściwości prywatności przez optymalizację UX.

Zarejestruj się, aby wziąć udział w testowaniu origin stanu logowania w FedCM

Interfejs API EditContext

Interfejs EditContext API upraszcza proces integracji aplikacji internetowej z zaawansowanymi metodami wprowadzania tekstu, takimi jak pisanie kształtów VK, panele pisma odręcznego, rozpoznawanie mowy i kompozycje IME. Poprawia on dostępność i wydajność oraz otwiera nowe możliwości edytorom internetowym.

Zarejestruj się, aby wziąć udział w testowaniu origin interfejsu EditContext API

Długi czas renderowania klatki animacji

To przedłużenie długich zadań. Mierzy zadanie wraz z kolejną aktualizacją renderowania, dodając takie informacje jak długo działające skrypty, czas renderowania i czas spędzony w wymuszonym układzie i stylu, co określa się jako wyrzucanie układu.

Deweloperzy mogą użyć tych danych do zdiagnozowania „powolnego działania”, który jest mierzony przez INP, wyszukując przyczyny zatoru w wątku głównym, które często są przyczyną nieprawidłowego współczynnika INP.

Zarejestruj się, aby wziąć udział w testowaniu origin Timing Frame Timing