Chrome 140

Data wprowadzenia wersji stabilnej: 2 września 2025 r.

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

CSS

Arytmetyka z określonym typem w CSS

Wpisane działania arytmetyczne umożliwiają pisanie w CSS wyrażeń takich jak calc(10em / 1px) lub calc(20% / 0.5em * 1px). Jest to przydatne np. w typografii, ponieważ umożliwia przekształcenie wpisanej wartości w wartość bez typu i ponowne użycie jej we właściwościach akceptujących liczby. Innym przypadkiem użycia jest pomnożenie wartości bez jednostek przez wartość innego typu. Możesz na przykład rzutować z pikseli na stopnie.

Śledzenie błędu nr 40768696 | Wpis na ChromeStatus.com | Specyfikacja

Właściwość CSS caret-animation

Chromium obsługuje animację właściwości caret-color. Jednak w przypadku animacji domyślne miganie kursora zakłóca animację.

Właściwość CSS caret-animation ma 2 możliwe wartości: auto i manual. auto oznacza domyślne ustawienie przeglądarki (miganie), a manual oznacza, że animacją kursora steruje deweloper. Użytkownicy, którym przeszkadzają migające obrazy lub którzy źle na nie reagują, mogą wyłączyć miganie za pomocą arkusza stylów użytkownika.

Śledzenie błędu nr 329301988 | Wpis na ChromeStatus.com | Specyfikacja

highlightsFromPoint API

Interfejs highlightsFromPoint API umożliwia deweloperom interakcję z niestandardowymi wyróżnieniami. Wykrywa, które zaznaczenia znajdują się w określonym miejscu w dokumencie. Ta interaktywność jest przydatna w przypadku złożonych funkcji internetowych, w których może dochodzić do nakładania się wielu wyróżnień lub mogą one występować w modelu Shadow DOM. Dzięki precyzyjnemu wykrywaniu punktowych wyróżnień interfejs API umożliwia deweloperom skuteczniejsze zarządzanie dynamicznymi interakcjami z niestandardowymi wyróżnieniami. Na przykład deweloperzy mogą reagować na kliknięcia użytkowników lub zdarzenia najechania kursorem na wyróżnione regiony, aby wywoływać niestandardowe etykietki, menu kontekstowe lub inne funkcje interaktywne.

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

Opcja kontenera ScrollIntoView

Opcja kontenera ScrollIntoViewOptions umożliwia programistom wykonanie operacji scrollIntoView, która przewija tylko najbliższy kontener przewijania elementu nadrzędnego. Na przykład ten fragment kodu przewija tylko kontener przewijania target, aby element target był widoczny, ale nie przewija wszystkich kontenerów przewijania do obszaru widocznego:

target.scrollIntoView({container: 'nearest'});

Wpis na ChromeStatus.com | Specyfikacja

Przejścia widoku: dziedziczenie większej liczby właściwości animacji

Dodaje więcej właściwości animacji do dziedziczenia przez pseudodrzewo przejścia widoku:

  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

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

Pseudoelementy przejścia dziedziczą opóźnienie animacji.

Oprócz poprzedniej aktualizacji właściwość animation-delay jest teraz dziedziczona przez pseudodrzewo przejścia widoku.

Wpis na ChromeStatus.com | Specyfikacja

Zagnieżdżone grupy przejść widoku

Ta funkcja umożliwia generowanie zagnieżdżonego drzewa pseudoelementów zamiast płaskiego. Dzięki temu przejście widoku będzie bardziej zgodne z oryginalnymi elementami i zamierzeniami wizualnymi. Umożliwia przycinanie, zagnieżdżone przekształcenia 3D i prawidłowe stosowanie efektów, takich jak krycie, maskowanie i filtry.

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

Przekazywanie widocznego obszaru overscroll-behavior z elementu głównego

Ta zmiana propaguje wartość overscroll-behavior z elementu głównego zamiast z elementu body.

Grupa robocza CSS postanowiła nie propagować właściwości z <body> do obszaru widocznego. Zamiast tego właściwości widocznego obszaru są propagowane z elementu głównego (<html>). W związku z tym wartość overscroll-behavior powinna być propagowana z elementu głównego. Chrome ma jednak długotrwały problem: propaguje overscroll-behavior<body>, a nie z katalogu głównego. To zachowanie nie jest zgodne z innymi przeglądarkami. Ta zmiana sprawia, że Chrome jest zgodny ze specyfikacją i współpracuje z innymi implementacjami.

Tracking bug #41453796 | ChromeStatus.com entry | Spec

CSS counter() i counters() w tekście alternatywnym właściwości content

Ta funkcja umożliwia używanie counter()counters() w tekście alternatywnym właściwości content. Dostarcza to bardziej przydatnych informacji, które zwiększają dostępność.

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

Właściwość CSS scroll-target-group

Właściwość scroll-target-group określa, czy element jest kontenerem grupy znaczników przewijania. Może mieć jedną z tych wartości:

  • „none”: element nie tworzy kontenera grupy znaczników przewijania.
  • „auto”: element tworzy kontener grupy znaczników przewijania, który zawiera wszystkie elementy znacznika przewijania, dla których jest najbliższym przodkiem.

Utworzenie kontenera grupy znaczników przewijania umożliwia, aby wszystkie elementy HTML kotwicy z identyfikatorem fragmentu, które znajdują się w takim kontenerze, były odpowiednikiem HTML pseudoelementów ::scroll-marker. Element kotwicy, którego cel przewijania jest obecnie widoczny, można ostylować za pomocą pseudoklasy :target-current.

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

Obsługa deskryptora font-variation-settings w regule @font-face

CSS umożliwia deweloperom dostosowywanie grubości, szerokości, pochylenia i innych osi czcionki za pomocą właściwości font-variation-settings w poszczególnych elementach. Jednak przeglądarki oparte na Chromium nie obsługują tej właściwości w deklaracjach @font-face. Ta funkcja obsługuje składnię opartą na ciągach znaków dla font-variation-settings, zgodnie z definicją w CSS Fonts Level 4. Nieprawidłowe lub nierozpoznane tagi funkcji są ignorowane zgodnie ze specyfikacją. Nie są obsługiwane formaty binarne ani niestandardowe. Czcionki zmienne są coraz częściej stosowane ze względu na wydajność i elastyczność typograficzną. Dodanie obsługi tego deskryptora w Chromium zwiększa kontrolę, ogranicza powtarzalność i umożliwia bardziej skalowalne, nowoczesne podejście do typografii internetowej.

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

DOM

ToggleEvent atrybut źródłowy

Atrybut source elementu ToggleEvent zawiera element, który spowodował uruchomienie elementu ToggleEvent, jeśli ma to zastosowanie. Jeśli na przykład użytkownik kliknie element <button> z atrybutem popovertarget lub commandfor ustawionym na otwarcie wyskakującego okienka, zdarzenie ToggleEvent wywołane w tym okienku będzie miało atrybut źródła ustawiony na wywołujący element <button>.

Wpis na ChromeStatus.com | Specyfikacja

Izolowane aplikacje internetowe (IWA)

Interfejs Controlled Frame API (dostępny tylko w przypadku IWA)

Ta funkcja dodaje interfejs Controlled Frame API dostępny tylko dla izolowanych aplikacji internetowych (IWA). Podobnie jak interfejsy API o podobnej nazwie na innych platformach, interfejs Controlled Frame umożliwia osadzanie wszystkich treści, nawet treści innych firm, których nie można osadzić w <iframe>. Interfejs Controlled Frame umożliwia też kontrolowanie umieszczonych treści za pomocą zbioru metod i zdarzeń interfejsu API. Więcej informacji o izolowanych aplikacjach internetowych znajdziesz w tym artykule.

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

JavaScript

Uint8Array do i z formatu base64 oraz szesnastkowego

Base64 to popularny sposób reprezentowania dowolnych danych binarnych w formacie ASCII. JavaScript ma Uint8Arrays dla danych binarnych. Nie ma jednak wbudowanego mechanizmu kodowania tych danych w formacie base64 ani pobierania danych w tym formacie i generowania odpowiedniego parametru Uint8Array. Ta funkcja umożliwia konwertowanie ciągów szesnastkowych na Uint8Arrays i odwrotnie.

Wpis na ChromeStatus.com | Specyfikacja

Wyświetlanie zmiany czasu obietnicy zakończenia przejścia

Obecny czas zakończenia obietnicy przypada na etapy cyklu renderowania. Oznacza to, że kod, który jest wykonywany w wyniku rozwiązania obietnicy, jest uruchamiany po wygenerowaniu klatki wizualnej, która usuwa przejście widoku. Może to spowodować migotanie na końcu animacji, jeśli skrypt przeniesie style, aby zachować wizualnie podobny stan. Ta zmiana rozwiązuje problem, ponieważ przenosi kroki czyszczenia przejścia widoku, aby były wykonywane asynchronicznie po zakończeniu cyklu życia.

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

Interfejsy Web API

Opcja: ReadableStreamBYOBReader min

Ta funkcja wprowadza opcję min do istniejącej metody ReadableStreamBYOBReader.read(view). Metoda akceptuje już element ArrayBufferView, do którego odczytuje dane, ale obecnie nie gwarantuje, ile elementów zostanie zapisanych przed zakończeniem odczytu. Określając wartość min, możesz wymagać, aby strumień czekał, aż będzie dostępnych co najmniej tyle elementów, zanim zakończy odczyt. Poprawia to obecne działanie, w którym odczyty mogą zawierać mniej elementów niż widok.

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

Interfejs Get Installed Related Apps API (navigator.getInstalledRelatedApps) umożliwia witrynom sprawdzanie, czy powiązane z nimi aplikacje są zainstalowane. Witryny mogą korzystać z tego interfejsu API tylko wtedy, gdy aplikacja ma ustalone powiązanie ze źródłem internetowym.

Interfejs API został wprowadzony w Chrome 80 na Androida. Dodatkowa obsługa aplikacji internetowych na komputerach została włączona w Chrome 140.

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

W niektórych przypadkach ważne jest, aby po stronie serwera odróżniać pliki cookie ustawione przez serwer od tych ustawionych przez klienta. Jednym z takich przypadków są pliki cookie, które zwykle są zawsze ustawiane przez serwer. Nieoczekiwany kod (np. wykorzystujący lukę XSS, złośliwe rozszerzenie lub zatwierdzenie od nieuważnego dewelopera) może jednak ustawić je po stronie klienta. Ta propozycja dodaje sygnał, który umożliwia serwerom rozróżnianie tych sytuacji. Określa on w szczególności prefiksy __Http__HostHttp, które zapewniają, że plik cookie nie zostanie ustawiony po stronie klienta za pomocą skryptu.

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

Skrypt service worker

SharedWorker skrypt dziedziczy kontroler dla adresu URL skryptu bloba

Specyfikacja mówi, że moduły robocze powinny dziedziczyć kontrolery dla adresu URL bloba. Jednak istniejący kod pozwala na dziedziczenie kontrolera tylko w przypadku modułów DedicatedWorker, a moduły SharedWorker nie dziedziczą kontrolera. Dzięki temu działanie Chrome będzie zgodne ze specyfikacją. Ta funkcja jest kontrolowana przez zasadę SharedWorkerBlobURLFixEnabled.

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

Dodaj ServiceWorkerStaticRouterTimingInfo

Ta funkcja dodaje informacje o czasie działania interfejsu API routingu statycznego Service Worker, udostępniane w interfejsie Navigation Timing API i Resource Timing API do użytku przez deweloperów. ServiceWorker udostępnia informacje o czasie, aby oznaczać określone punkty w czasie.

Ta funkcja dodaje 2 rodzaje informacji o czasie, które są istotne w przypadku interfejsu Static Routing API:

  • RouterEvaluationStart: czas rozpoczęcia dopasowywania żądania do zarejestrowanych reguł routera.
  • CacheLookupStart: Czas na sprawdzenie pamięci podręcznej, jeśli źródłem jest "cache".

Dodatkowo ta funkcja dodaje 2 informacje o źródle routera: dopasowane źródło routera i ostateczne źródło routera.

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

Wersje próbne origin

Włączanie powiadomień o połączeniach przychodzących

Ta funkcja rozszerza interfejs Notifications API, aby zainstalowane PWA mogły wysyłać powiadomienia o połączeniach przychodzących – powiadomienia z przyciskami w stylu połączeń i dzwonkiem. To rozszerzenie pomaga internetowym aplikacjom VoIP tworzyć bardziej angażujące środowisko, ponieważ ułatwia użytkownikom rozpoznawanie i odbieranie powiadomień o połączeniach. Ta funkcja pomaga też wypełnić lukę między implementacjami natywnymi i internetowymi aplikacji, które mają obie te implementacje.

Testowanie funkcji | Błąd śledzenia #detail?id=1383570 | Wpis na ChromeStatus.com | Specyfikacja

Interfejs API klucz-wartość do raportowania o awariach

Ta funkcja wprowadza nowy interfejs API klucz-wartość, tymczasowo oznaczony jako window.crashReport, oparty na mapie dokumentów, która zawiera dane dołączone do raportów o awariach.

Dane umieszczone w mapie zapasowej tego interfejsu API są wysyłane w CrashReportBody, jeśli w witrynie wystąpią awarie procesu renderowania. Dzięki temu deweloperzy mogą debugować, który konkretny stan w aplikacji może powodować daną awarię.

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

Dodaj wydarzenie clipboardchange

Zdarzenie clipboardchange jest wywoływane za każdym razem, gdy aplikacja internetowa lub inna aplikacja systemowa zmienia zawartość schowka systemowego. Umożliwia to aplikacjom internetowym, takim jak klienci zdalnego pulpitu, synchronizowanie schowka z schowkiem systemowym. Jest to wydajna alternatywa dla sprawdzania zmian w schowku za pomocą JavaScriptu.

Origin Trial | Tracking bug #41442253 | ChromeStatus.com entry | Spec

Włączanie SharedWorker na urządzeniach z Androidem

Długotrwałe zapotrzebowanie na obsługę SharedWorker na Androidzie wynika z kilku potrzeb zgłaszanych przez deweloperów stron internetowych:

  • Udostępnianie zasobów i wydajność: deweloperzy starają się udostępniać jedno połączenie WebSocket lub Server-Sent Events (SSE) na wielu kartach, co pozwala oszczędzać zasoby.
  • Zarządzanie trwałymi zasobami: wymóg udostępniania i utrwalania zasobów na różnych kartach, szczególnie w przypadku technologii takich jak SQLite oparte na WASM.
  • Wypełnienie luki w funkcjach: inne popularne przeglądarki mobilne, w tym Safari na iOS i Firefox na Androidzie, obsługują już SharedWorker, co sprawia, że Chrome na Androidzie jest ostatnią popularną przeglądarką, która wypełnia tę lukę.

Origin Trial | Wpis na ChromeStatus.com | Specyfikacja

Usunięcia

Przestań wysyłać nagłówek Purpose: prefetch z wstępnego pobierania i wstępnego renderowania

Pobieranie z wyprzedzeniem i wstępne renderowanie korzystają teraz z nagłówka Sec-Purpose, dlatego starszy nagłówek Purpose: prefetch zostanie usunięty.

Będzie to dotyczyć reguł spekulacyjnych prefetch, reguł spekulacyjnychprerender, <link rel=prefetch> i niestandardowych reguł <link rel=prerender> w Chromium.

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

Wycofanie specjalnych reguł rozmiaru czcionki dla nagłówka H1 w niektórych elementach

Specyfikacja HTML zawiera listę specjalnych reguł dotyczących tagów <h1> zagnieżdżonych w tagach <article>, <aside>, <nav> lub <section>:

Te specjalne reguły zostały wycofane, ponieważ powodują problemy z dostępnością. Zmniejszają one wizualnie rozmiar czcionki w przypadku zagnieżdżonych elementów <h1>, aby „wyglądały” jak elementy <h2>, ale nic w drzewie ułatwień dostępu nie odzwierciedla tego obniżenia.

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