Chrome 142 w wersji beta

Opublikowano: 1 października 2025 r.

O ile nie zaznaczono inaczej, te zmiany dotyczą wersji beta Chrome 142 na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o tych funkcjach znajdziesz w podanych linkach lub na stronie ChromeStatus.com. Pobierz wersję beta Chrome 142 z Google.com na komputer lub ze Sklepu Google Play na Androida.

CSS i interfejs

:target-before i :target-after pseudoklasy

Te pseudoklasy pasują do znaczników przewijania, które znajdują się przed lub za aktywnym znacznikiem (pasującym do :target-current) w tej samej grupie znaczników przewijania, zgodnie z kolejnością w płaskim drzewie:

  • :target-before: pasuje do wszystkich znaczników przewijania, które poprzedzają aktywny znacznik w płaskiej kolejności drzewa w grupie.
  • :target-after: pasuje do wszystkich znaczników przewijania, które znajdują się za aktywnym znacznikiem w płaskiej strukturze drzewa w grupie.

Pozycjonowanie bezwzględne elementu ::view-transition

Przejścia widoku używają pseudopoddrzewa elementu, którego korzeniem jest ::view-transition. Wcześniej element ::view-transition miał atrybut position: fixed. Grupa robocza CSS podjęła decyzję o wprowadzeniu tej position: absolute, dlatego Chrome odzwierciedla teraz tę zmianę.

Ta zmiana nie powinna być zauważalna, ponieważ blok zawierający tego elementu pozostaje blokiem zawierającym migawkę w przypadku pozycji bezwzględnej lub stałej. Jedyna zauważalna różnica dotyczy getComputedStyle.

activeViewTransition usługa w dokumencie

Interfejs View Transitions API umożliwia programistom rozpoczynanie wizualnych przejść między różnymi stanami. Głównym punktem wejścia do aplikacji SPA jest startViewTransition(), która zwraca obiekt przejścia. Ten obiekt zawiera kilka obietnic i funkcji do śledzenia postępu przejścia oraz umożliwia manipulowanie przejściami, np. pomijanie ich lub modyfikowanie ich typów.

Od Chrome 142 deweloperzy nie muszą już przechowywać tego obiektu. Ten obiekt jest reprezentowany przez usługę document.activeViewTransition lub null, jeśli nie trwa żadna migracja.

Dotyczy to też przejść na MPA, w przypadku których obiekt jest dostępny tylko w zdarzeniach pageswappagereveal. W ramach tej aktualizacji wartość document.activeViewTransition jest ustawiana dla tego obiektu na czas przeniesienia.

Składnia zakresu w przypadku zapytań dotyczących kontenerów stylów i funkcji if()

Chrome ulepsza zapytania o style CSS i funkcję if(), dodając obsługę składni zakresu.

Rozszerza zapytania o style poza dopasowywanie dokładnych wartości (np. style(--theme: dark)). Deweloperzy mogą używać operatorów porównania (np. ><) do porównywania właściwości niestandardowych, wartości dosłownych (np. 10 pikseli lub 25%) i wartości z funkcji zastępowania, takich jak attr()env(). Aby porównanie było prawidłowe, obie strony muszą mieć ten sam typ danych. Jest on ograniczony do tych typów liczbowych: <length>, <number>, <percentage>, <angle>, <time>, <frequency><resolution>.

Przykłady:

Porównaj właściwość niestandardową z długością literału:

@container style(--inner-padding > 1em) {
  .card {
    border: 2px solid;
  }
}

Porównywanie 2 wartości literałów

@container style(1em < 20px) {
  /* ... */
}

Korzystanie z zakresów stylów w if():

.item-grid {
  background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}

Wywołujący zainteresowania (atrybut interestfor)

Chrome dodaje atrybut interestfor do elementów <button><a>. Ten atrybut dodaje do elementu zachowania związane z „zainteresowaniem”. Gdy użytkownik „wykazuje zainteresowanie” elementem, w elemencie docelowym są wywoływane działania, np. wyświetlanie wyskakującego okienka. User agent wykrywa, kiedy użytkownik „wykazuje zainteresowanie” elementem, np. poprzez przytrzymanie wskaźnika nad elementem, naciśnięcie specjalnych klawiszy skrótu na klawiaturze lub długie naciśnięcie elementu na ekranie dotykowym. Gdy użytkownik wykazuje zainteresowanie lub je traci, w elemencie docelowym uruchamia się zdarzenie InterestEvent, które ma domyślne działania w przypadku wyskakujących okien, takie jak wyświetlanie i ukrywanie wyskakującego okna.

Usługa font-language-override

Chrome wprowadza obsługę właściwości CSS font-language-override. Ta właściwość umożliwia deweloperom zastąpienie języka systemowego używanego do zastępowania glifów OpenType przez bezpośrednie określenie w CSS 4-znakowego tagu języka.

Umożliwia precyzyjną kontrolę typograficzną, co jest szczególnie przydatne w przypadku treści wielojęzycznych lub fontów z wariantami glifów specyficznymi dla danego języka.

atrybutu download w elemencie SVG <a>.

Chrome wprowadza obsługę atrybutu download w interfejsie SVGAElement, zgodnie ze specyfikacją SVG 2. Atrybut download umożliwia autorom określenie, że zamiast przechodzić do celu hiperlinku SVG, ma on zostać pobrany. Odpowiada to działaniu, które jest już obsługiwane w HTMLAnchorElement. Zapewnia interoperacyjność w przypadku głównych przeglądarek i spójne działanie elementów HTML i SVG<a>, a także poprawia komfort pracy deweloperów i spełnia oczekiwania użytkowników.

Równoważność na urządzeniach mobilnych i komputerach w przypadku wybranych trybów renderowania elementów

Za pomocą atrybutów size i multiple element <select> może być renderowany jako pole listy na stronie lub przycisk z wyskakującym okienkiem. Jednak te tryby nie są dostępne w spójny sposób w Chrome na urządzeniach mobilnych i komputerach. Renderowanie pola listy na stronie jest niedostępne na urządzeniach mobilnych, a przycisk z wyskakującym okienkiem jest niedostępny na komputerach, gdy występuje atrybut multiple.

Ta aktualizacja dodaje pole listy na urządzeniach mobilnych i wielokrotne okienko wyboru na komputerach. Zapewnia też, że zgody użytkowników z atrybutami sizemultiple będą renderowane w ten sam sposób na urządzeniach mobilnych i komputerach. Oto podsumowanie zmian:

  • Jeśli atrybut size ma wartość większą niż 1, zawsze używane jest renderowanie na stronie. Urządzenia mobilne wcześniej to ignorowały.
  • Jeśli atrybut multiple jest ustawiony bez atrybutu size, używane jest renderowanie na stronie. Na urządzeniach mobilnych wcześniej używano wyskakującego okienka zamiast listy wyboru na stronie.
  • Gdy atrybut multiple ma wartość size=1, używane jest wyskakujące okienko. Na urządzeniach stacjonarnych wcześniej używano listy wyboru na stronie.

Trwałe aktywowanie użytkownika w przypadku nawigacji inicjowanych przez proces renderowania w ramach tej samej domeny

Chrome zachowuje stan trwałej aktywacji użytkownika po przejściu strony na inną stronę z tej samej domeny. Brak aktywacji użytkownika na stronie po nawigacji uniemożliwia niektóre przypadki użycia, np. wyświetlanie klawiatur wirtualnych przy automatycznym ustawianiu ostrości. Zablokowało to deweloperom możliwość tworzenia aplikacji wielostronicowych zamiast jednostronicowych.

Nie obejmuje to żądań nawigacji inicjowanych przez przeglądarkę (ponowne załadowanie, nawigacja po historii, wpisanie adresu URL na pasku adresu itp.).

Interfejsy Web API

WebGPU: primitive_index funkcja

WebGPU dodaje nową opcjonalną funkcję, która udostępnia nowy wbudowany shader WGSL, primitive_index. Zapewnia indeksowanie poszczególnych elementów pierwotnych do shaderów fragmentów na obsługiwanym sprzęcie, podobnie jak wbudowane funkcje vertex_indexinstance_index. Indeks typu pierwotnego jest przydatny w zaawansowanych technikach graficznych, takich jak wirtualizacja geometrii.

WebGPU: formaty tekstur poziomu 1 i 2

Rozszerz obsługę formatu tekstur GPU o funkcje takie jak renderowanie załącznika, mieszanie, multisampling, rozwiązywanie i storage_binding.

Właściwość DataTransfer dla zdarzeń wejściowych insertFromPaste, insertFromDropinsertReplacementText

Wypełnij właściwość dataTransfer w zdarzeniach wejściowych wartościami inputType: insertFromPaste, insertFromDropinsertReplacementText, aby zapewnić dostęp do schowka i danych przeciągania i upuszczania podczas operacji edycji w elementach z atrybutem contenteditable.

Obiekt dataTransfer zawiera te same dane, które były dostępne podczas zdarzenia beforeinput.

Ta funkcja dotyczy tylko elementów z atrybutem contenteditable. W przypadku elementów sterujących formularza ((textarea, input) zachowanie pozostanie bez zmian.

Ta właściwość zapewnia interoperacyjność Chrome z Safari i Firefoksem.

Sesja multimedialna: dodawanie przyczyny do enterpictureinpicture szczegółów działania

Dodaje enterPictureInPictureReason do MediaSessionActionDetails wysyłanego do działania enterpictureinpicture w interfejsie Media Session API. Dzięki temu deweloperzy mogą odróżniać enterpictureinpicture działania wywołane bezpośrednio przez użytkownika (np. za pomocą przycisku w agencie użytkownika) od enterpictureinpicture działań wywołanych automatycznie przez agenta użytkownika, ponieważ treść została zasłonięta.

Kontekstowe dostosowywanie w interfejsie Web Speech API

Ta aktualizacja umożliwia stronom internetowym obsługę kontekstowego dostosowywania rozpoznawania mowy przez dodanie listy fraz rozpoznawania do interfejsu Web Speech API.

Deweloperzy mogą podać listę fraz i zaktualizować ją, aby zastosować w modelach rozpoznawania mowy odchylenie na korzyść tych fraz. Pomaga to zwiększyć dokładność i trafność rozpoznawania mowy w przypadku konkretnych domen i spersonalizowanego rozpoznawania mowy.

Bardziej rygorystyczna *+json weryfikacja tokenów MIME w przypadku modułów JSON

Odrzucaj odpowiedzi skryptu modułu JSON, których typ MIME lub podtyp zawiera punkty kodowe tokenów innych niż HTTP (np. spacje), gdy są dopasowane do *+json. Jest to zgodne ze specyfikacją MIME Sniffing i innymi silnikami. Jest to część obszaru tematycznego modułów Interop2025.

FedCM – obsługa wyświetlania w interfejsie źródeł elementów iframe z innych domen

Przed wersją Chrome 142 interfejs FedCM zawsze wyświetlał witrynę najwyższego poziomu.

Sprawdza się to w przypadku, gdy element iframe jest koncepcyjnie własny (np. foo.com może mieć element iframe foostatic.com, który nie ma znaczenia dla użytkownika).

Jeśli jednak element iframe pochodzi od innej firmy, lepiej jest wyświetlać w interfejsie jego źródło, aby użytkownicy lepiej rozumieli, komu udostępniają swoje dane logowania. Na przykład edytor zdjęć może być osadzony w aplikacji internetowej do publikowania książek i umożliwiać użytkownikom dostęp do plików, które wcześniej zapisali w tym edytorze. Ta funkcja jest już dostępna.

Izolacja procesów ze źródłem jako kluczem

Zmienia zasadę izolacji procesów z blokowania procesów w witrynie (np. example.com) na blokowanie ich w określonym źródle (np. foo.example.com).

Aby jeszcze bardziej zwiększyć bezpieczeństwo, Chrome przechodzi na bardziej szczegółowy model izolacji procesów o nazwie „Izolacja pochodzenia”. Chrome używał „Izolacji witryn”, która grupowała różne źródła z tej samej witryny, np. a.example.comb.example.com, w jeden proces renderowania.

Dzięki izolacji źródeł każde źródło (np. https://foo.example.com) jest izolowane w osobnym procesie renderowania. Wzmacnia architekturę zabezpieczeń Chrome, dopasowując granice procesów do podstawowego modelu zabezpieczeń internetu opartego na pochodzeniu, co zapewnia większą ochronę przed potencjalnymi lukami w zabezpieczeniach witryn.

Zdarzenia pointerrawupdate, które można obsługiwać w różnych przeglądarkach, są udostępniane tylko w bezpiecznych kontekstach.

W 2020 r. specyfikacja PointerEvents ograniczyła dostęp do interfejsu pointerrawupdate do bezpiecznych kontekstów, ukrywając zarówno wywoływanie zdarzeń, jak i globalne detektory zdarzeń w niebezpiecznych kontekstach. Dzięki tej aktualizacji Chrome jest zgodny ze zaktualizowaną specyfikacją i współpracuje z innymi popularnymi przeglądarkami.

Trwające wersje próbne origin

W Chrome 142 możesz wziąć udział w tych nowych eksperymentach z źródłem.

Dane uwierzytelniające sesji powiązanych z urządzeniem

Sposób bezpiecznego powiązania sesji z jednym urządzeniem.

Umożliwia serwerom bezpieczne powiązanie sesji z urządzeniem. Przeglądarka okresowo odnawia sesję na żądanie serwera, przedstawiając dowód posiadania klucza prywatnego.

Pula gniazd TCP dla każdej witryny najwyższego poziomu

Ten eksperyment ocenia wpływ zmiany rozmiaru puli gniazd TCP na profil z 256 (wartość domyślna) na 513 przy jednoczesnym dodaniu limitu 256 na witrynę najwyższego poziomu (aby mieć pewność, że żadne 2 karty nie wyczerpią puli). Przeprowadziliśmy analizę możliwości zwiększenia limitu na profil do 512 i nie wykazała ona negatywnych skutków. Limit 256 plików cookie na witrynę najwyższego poziomu jest równy domyślnemu limitowi na profil, więc nie powinien negatywnie wpływać na skuteczność. Te limity są nakładane niezależnie na pulę gniazd WebSocket i zwykłą pulę gniazd (HTTP).

Jeśli nie wystąpią żadne negatywne skutki, zamierzamy uruchomić ten eksperyment bezpośrednio.