Chrome 143

Data wprowadzenia wersji stabilnej: 2 grudnia 2025 r.

O ile nie zaznaczono inaczej, poniższe zmiany dotyczą wersji stabilnej Chrome 143 na Androida, ChromeOS, Linuksa, macOS i Windows.

CSS i interfejs

Zapytania o kontener CSS z zakotwiczonym kontenerem rezerwowym

Wprowadza @container anchored(fallback), aby określać styl elementów podrzędnych elementów zakotwiczonych pozycjonowanych na podstawie tego, który z position-try-fallbacks jest zastosowany.

Takie zapytania mogą służyć do określania stylu połączenia elementu zakotwiczonego lub jego animacji na podstawie wzajemnego położenia elementu zakotwiczonego i elementu zakotwiczonego.

Błąd śledzenia nr 417621241 | Wpis na ChromeStatus.com | Specyfikacja

Składnia względna dla background-position-x/y długich nazw kolorów

Określa położenie obrazu tła względem jednej z jego krawędzi.

Ta składnia zapewnia bardziej elastyczny i dynamiczny mechanizm określania pozycji obrazu tła zamiast używania stałych wartości, które trzeba dostosowywać do rozmiaru okna lub ramki.

Ta funkcja jest też stosowana w przypadku usługi -webkit-mask-position, aby zapewnić ten sam poziom zgodności z siecią.

Błąd śledzenia nr 40468636 | Wpis na ChromeStatus.com | Specyfikacja

Wdrażanie właściwości CSS font-language-override

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 zamiany glifów OpenType przez określenie 4-znakowego tagu języka bezpośrednio w CSS.

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

Błąd śledzenia nr 41170551 | Wpis na ChromeStatus.com | Specyfikacja

Plik manifestu aplikacji internetowej: określanie kwalifikowania się do aktualizacji

Określ algorytm kwalifikacji do aktualizacji w specyfikacji pliku manifestu. Dzięki temu proces aktualizacji jest bardziej deterministyczny i przewidywalny, co daje deweloperowi większą kontrolę nad tym, czy (i kiedy) aktualizacje mają być stosowane w przypadku istniejących instalacji. Umożliwia to też usunięcie ograniczenia sprawdzania aktualizacji, które obecnie muszą stosować agenci użytkownika, aby uniknąć marnowania zasobów sieciowych.

Błąd śledzenia nr 403253129 | Wpis na ChromeStatus.com

Urządzenie

Atrybuty modułu obsługi zdarzeń ongamepadconnectedongamepaddisconnected pada

Dodaje do interfejsu WindowEventHandlers mixin procedury obsługi zdarzeń ongamepadconnectedongamepaddisconnected.

Dzięki temu obsługiwane są te atrybuty funkcji obsługi zdarzeń:

  • window.ongamepadconnected
  • document.body.ongamepadconnected
  • window.ongamepaddisconnected
  • document.body.ongamepaddisconnected

Błąd śledzenia nr 40175074 | Wpis na ChromeStatus.com | Specyfikacja

DOM

Zezwalanie na większą liczbę znaków w interfejsach DOM API JavaScriptu

Parser HTML umożliwia używanie w elementach i atrybutach wielu różnych prawidłowych znaków i nazw, ale interfejsy API DOM JavaScript do tworzenia tych samych elementów i atrybutów są bardziej rygorystyczne i nie pasują do parsera.

Ta zmiana upraszcza weryfikację interfejsów JavaScript DOM API, aby była zgodna z parserem HTML.

Błąd śledzenia nr 40228234 | Wpis na ChromeStatus.com | Specyfikacja

Grafika

WebGPU: mieszanie komponentów tekstury

Umożliwia GPUTextureViews zmianę kolejności lub zastąpienie komponentów kolorów z kanałów czerwonego, zielonego, niebieskiego i alfa tekstury, gdy są one dostępne dla shadera.

Błąd śledzenia nr 414312052 | Wpis na ChromeStatus.com | Specyfikacja

JavaScript

ICU 77 (obsługuje Unicode 16)

Biblioteka ICU (International Components for Unicode) obsługująca Unicode została zaktualizowana z wersji 74.2 do 77.1. Dodano obsługę Unicode 16 i zaktualizowano dane regionalne. Dwie zmiany mogą stanowić pewne ryzyko dla aplikacji internetowych, które zakładają określony format z interfejsów Intl JS API:

  1. Domyślny format liczb we Włoszech został zmieniony tak, aby w przypadku liczb 4-cyfrowych nie używać separatora tysięcy. Na przykład new Intl.NumberFormat("it").format(1234) zwróci 1234 zamiast 1,234. Stare działanie można uzyskać za pomocą parametru useGrouping w konstruktorze Intl.NumberFormat.
  2. W niektórych regionach anglojęzycznych (en-AU, en-GBen-IN) po pełnych nazwach dni tygodnia dodano przecinek, np. Saturday 30 April 2011 zmieniono na Saturday, 30 April 2011. Aplikacje internetowe nie powinny polegać na dokładnym formatowaniu dat, ponieważ może się ono w przyszłości zmienić.

Błąd śledzenia nr 421834885 | Wpis na ChromeStatus.com | Specyfikacja

EditContext: TextFormat underlineStyle i underlineThickness

Interfejs EditContext API został udostępniony w Chrome z błędem, który powoduje, że obiekt TextFormat dostarczany przez zdarzenie textformatupdate zawiera nieprawidłowe wartości właściwości underlineStyleunderlineThickness. Przed wersją Chrome 143 możliwe wartości to None, Solid, Dotted, Dashed, Squiggle oraz None, Thin, Thick. Specyfikacja zawiera jednak te wartości: none, solid, dotted, dashed, wavy oraz none, thin, thick.

Prawidłowe wartości zostały zaimplementowane w Chrome 143.

Błąd śledzenia nr 354497121 | Wpis na ChromeStatus.com | Specyfikacja

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

Wypełnij właściwość dataTransfer w zdarzeniach wejściowych wartością inputType składającą się z insertFromPaste, insertFromDropinsertReplacementText, aby umożliwić dostęp do danych ze schowka i przeciągania 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 pozostaje bez zmian – właściwość data zawiera wstawiony tekst, a dataTransfer pozostaje pusta.

Błąd śledzenia nr 401593412 | Wpis na ChromeStatus.com | Specyfikacja

FedCM: obsługa uporządkowanych odpowiedzi w formacie JSON od dostawców tożsamości

Umożliwia dostawcom tożsamości zwracanie do podmiotów ufających uporządkowanych obiektów JSON zamiast zwykłych ciągów znaków za pomocą id_assertion_endpoint.

Ta zmiana upraszcza integrację dla deweloperów, ponieważ eliminuje konieczność ręcznego serializowania i parsowania ciągów JSON. Umożliwia bardziej dynamiczne i elastyczne przepływy uwierzytelniania, dzięki czemu dostawcy usług mogą bezpośrednio interpretować złożone odpowiedzi i obsługiwać różne protokoły, takie jak OAuth2, OIDC czy IndieAuth, bez umów poza pasmem.

Błąd śledzenia nr 346567168 | Wpis na ChromeStatus.com | Specyfikacja

Sieć

Negocjacja protokołu aplikacji WebTransport

Negocjowanie protokołu aplikacji WebTransport umożliwia negocjowanie protokołu używanego przez aplikację internetową w ramach uzgadniania połączenia WebTransport.

Aplikacja internetowa może określić listę protokołów aplikacji oferowanych podczas tworzenia obiektu WebTransport, które są następnie przekazywane do serwera za pomocą nagłówków HTTP. Jeśli serwer wybierze jeden z tych protokołów, może wskazać go w nagłówkach odpowiedzi, a ta odpowiedź jest dostępna w obiekcie WebTransport.

Błąd śledzenia nr 416080492 | Wpis na ChromeStatus.com | Specyfikacja

Wyniki

Reguły spekulacyjne: ulepszenia dotyczące eagergotowościeager na urządzeniach mobilnych

Na urządzeniach mobilnych reguły spekulacyjne eagereagerness pobierają z wyprzedzeniem i wstępnie renderują treści, gdy elementy kotwicy HTML są przez krótki czas widoczne w obszarze wyświetlania.

Błąd śledzenia nr 436705485 | Wpis na ChromeStatus.com | Specyfikacja

WebRTC

Zmiana działania rozszerzenia nagłówka RTP WebRTC

Wprowadza zmianę w specyfikacji, która zapewnia, że kolejne oferty lub odpowiedzi nie będą zmieniać kolejności wynegocjowanych rozszerzeń nagłówka, chyba że użytkownik tego chce.

Błąd śledzenia nr 439514253 | Wpis na ChromeStatus.com | Specyfikacja

Izolowane aplikacje internetowe

Interfejs Web Smart Card API dla izolowanych aplikacji internetowych

Dostępne tylko w przypadku izolowanych aplikacji internetowych (IWA). Umożliwia przeniesienie aplikacji na karty inteligentne (PC/SC) na platformę internetową. Daje im dostęp do implementacji PC/SC (i sterowników czytnika kart) dostępnych w systemie operacyjnym hosta.

Administratorzy mogą kontrolować dostępność tego interfejsu API na 2 sposoby:

  • na całym świecie – za pomocą zasady DefaultSmartCardConnectSetting;
  • W przypadku poszczególnych aplikacji – za pomocą zasad SmartCardConnectAllowedForUrlsSmartCardConnectBlockedForUrls.

Błąd śledzenia nr 1386175 | Wpis na ChromeStatus.com | Specyfikacja

Wersje próbne origin

Digital Credentials API (obsługa wydawania)

Ta funkcja umożliwia witrynom wydającym dokumenty (np. uniwersytetowi, agencji rządowej lub bankowi) bezpieczne inicjowanie procesu udostępniania (wydawania) cyfrowych dokumentów bezpośrednio w aplikacji portfela mobilnego użytkownika. Na Androidzie ta funkcja korzysta z systemu IdentityCredential CredMan (Credential Manager). Na komputerach stacjonarnych korzysta z podejść obejmujących różne urządzenia, używając protokołu CTAP podobnego do prezentacji cyfrowych dokumentów tożsamości.

Testowanie w wersji próbnej | Błąd śledzenia nr 378330032 | Wpis na ChromeStatus.com | Specyfikacja

Web Install API

Umożliwia zainstalowanie aplikacji internetowej. Po wywołaniu witryna instaluje samą siebie lub inną witrynę z innego źródła jako aplikację internetową (w zależności od podanych parametrów).

Testowanie źródła | Błąd śledzenia nr 333795265 | Wpis na ChromeStatus.com | Specyfikacja

Wycofania i usunięcia

Wycofanie XSLT

XSLT w wersji 1.0, która jest zgodna ze wszystkimi przeglądarkami, została ustandaryzowana w 1999 roku. W tym czasie język XSLT rozwinął się do wersji 2.0 i 3.0, dodając funkcje i oddalając się od wersji zamrożonej w przeglądarkach. Ten brak postępu w połączeniu z rozwojem bibliotek i frameworków JavaScript, które oferują bardziej elastyczną i wydajną manipulację DOM, doprowadził do znacznego spadku wykorzystania XSLT po stronie klienta. Jego rolę w przeglądarce internetowej w dużej mierze zastąpiły technologie oparte na JavaScript, takie jak JSON i React.

Chromium używa biblioteki libxslt do przetwarzania tych przekształceń, a biblioteka libxslt nie była aktualizowana przez około 6 miesięcy w 2025 r. Libxslt to złożona, starsza baza kodu w języku C, która jest podatna na luki w zabezpieczeniach pamięci, takie jak przepełnienie bufora, co może prowadzić do wykonania dowolnego kodu. Biblioteki XSLT po stronie klienta są obecnie rzadko używaną funkcją, dlatego są rzadziej konserwowane i sprawdzane pod kątem bezpieczeństwa niż podstawowe silniki JavaScript. Stanowią jednak bezpośrednią i potencjalną powierzchnię ataku podczas przetwarzania niezaufanych treści internetowych. XSLT jest źródłem kilku ostatnich głośnych luk w zabezpieczeniach, które nadal stanowią zagrożenie dla użytkowników przeglądarek. Z tych powodów Chromium (wraz z innymi silnikami przeglądarek) planuje wycofać i usunąć XSLT z platformy internetowej. Więcej informacji znajdziesz w artykule Usuwanie XSLT w celu zwiększenia bezpieczeństwa przeglądarki.

Wpis na ChromeStatus.com

Wycofanie getterów informacji o ustawieniach regionalnych w Intl

Intl Locale Info API to propozycja ECMAScript TC39 na etapie 3, która ma na celu ulepszenie obiektu Intl.Locale przez udostępnienie informacji o języku, takich jak dane o tygodniu (pierwszy dzień tygodnia, początek i koniec weekendu, minimalna liczba dni w pierwszym tygodniu) oraz cykl godzinowy używany w danym języku.

Zmiany w etapie 3 specyfikacji przenoszą kilka funkcji pobierających do funkcji. Są one teraz aktualizowane w Chrome, aby były zgodne ze specyfikacją.

Błąd śledzenia nr 42203770 | Wpis na ChromeStatus.com | Specyfikacja

Wymuszanie ochrony prywatności w FedCM w przypadku metadanych klienta

Aby wyeliminować ryzyko związane z korelacją tożsamości w różnych witrynach w interfejsie FedCM API, dostawcy tożsamości, którzy używają w konfiguracji FedCM parametru client_metadata, muszą wdrożyć format bezpośrednich punktów końcowych w pliku .well-known/web-identity. Ten wymóg zapewnia, że zarówno accounts_endpoint, jak i login_url są wyraźnie zdefiniowane, gdy tylko występuje client_metadata_endpoint. Takie podejście wzmacnia ochronę prywatności, ponieważ uniemożliwia podmiotom polegającym na danych wykorzystywanie metadanych do powiązania tożsamości użytkowników w różnych witrynach.

W Chrome 143 (faza ostrzegawcza): jeśli istnieje client_metadata_endpoint, ale brakuje accounts_endpoint lub login_url, przeglądarka będzie wyświetlać ostrzeżenia w konsoli. Dzięki temu dostawcy tożsamości będą mieli czas na zaktualizowanie konfiguracji.

Wpis na ChromeStatus.com | Specyfikacja

Migracja FedCM nonce do pola params i zmiana nazwy atrybutu IdentityCredentialError code na error

Przeniesienie wartości jednorazowej do pola params: parametr nonce w metodzie navigator.credentials.get() jest przenoszony z pola najwyższego poziomu do obiektu params, aby poprawić projekt interfejsu API, jego rozszerzalność i łatwość konserwacji. To uporządkowane podejście upraszcza analizowanie przez dostawców tożsamości, zapewnia przyszłościową kompatybilność bez wersji i jest zgodne z nowoczesnymi wzorcami interfejsu API. W przypadku podmiotów polegających wpływ jest minimalny – podają one tę samą wartość nonce w nowej lokalizacji.

W Chrome 143 (faza ostrzegawcza): wartość nonce jest akceptowana zarówno na najwyższym poziomie, jak i w parametrach. Użycie na najwyższym poziomie powoduje wyświetlenie ostrzeżenia w konsoli.

Zmiana nazwy kodu na błąd w IdentityCredentialError: atrybut codeIdentityCredentialError został zmieniony na error, aby zapewnić większą przejrzystość semantyczną, lepsze wrażenia programistów i zgodność ze standardami internetowymi. Ta zmiana zmniejsza niejednoznaczność i zapobiega konfliktom z DOMException.code. Dodatkowo znak error.code zostaje przekształcony w znak error.error, zachowując typ DOMString.

W Chrome 143 (faza ostrzegawcza): obsługiwane są atrybuty errorcode. Użycie code powoduje wyświetlenie ostrzeżenia w konsoli, które zachęca deweloperów do migracji.

Błąd śledzenia nr 427474985 | Wpis na ChromeStatus.com | Specyfikacja