Chrome 140 w wersji beta

Opublikowano: 6 sierpnia 2025 r.

O ile nie zaznaczono inaczej, te zmiany dotyczą najnowszej wersji beta Chrome na Androida, ChromeOS, Linuksa, macOS i Windowsa. Więcej informacji o funkcjach wymienionych poniżej znajdziesz w podanych linkach lub na liście na stronie ChromeStatus.com. Od 6 sierpnia 2025 r. Chrome 140 jest w wersji beta. Najnowszą wersję możesz pobrać z oficjalnej strony Chrome na komputery lub ze Sklepu Google Play na Androida.

CSS i interfejs użytkownika

Arytmetyka z typami w CSS

Arytmetyka z typami umożliwia pisanie w CSS wyrażeń takich jak calc(10em / 1px) czy calc(20% / 0.5em * 1px). Jest to przydatne np. w typografii, ponieważ pozwala przekonwertować wartość z typem na wartość bez typu i użyć jej ponownie we właściwościach akceptujących liczby. Innym przypadkiem użycia jest pomnożenie wartości bez jednostki przez inny typ. Możesz na przykład przekonwertować piksele na stopnie.

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

Właściwość scroll-target-group określa, czy element jest kontenerem grupy znaczników przewijania. Akceptuje 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 znaczników przewijania, dla których jest najbliższym przodkiem.

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

Włączanie funkcji counter() i counters() w tekście alternatywnym właściwości content

Ta funkcja umożliwia używanie funkcji counter() i counters() w tekście alternatywnym właściwości content. Dzięki temu informacje są bardziej zrozumiałe, co poprawia dostępność.

Pseudoelementy przejścia widoku dziedziczą więcej właściwości animacji

Pseudodrzewo przejścia widoku dziedziczy teraz kilka właściwości animacji:

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

Włączanie zagnieżdżonych przejść widoku

Ta funkcja umożliwia generowanie przez przejścia widoku zagnieżdżonego pseudodrzewa, a nie płaskiego. Dzięki temu przejście widoku wygląda bardziej podobnie do oryginalnych elementów i intencji wizualnej. Umożliwia to przycinanie, zagnieżdżone przekształcenia 3D i prawidłowe stosowanie efektów takich jak krycie, maskowanie i filtry.

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

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

Opcja kontenera ScrollIntoView

Opcja kontenera ScrollIntoViewOptions umożliwia deweloperom wykonywanie operacji scrollIntoView, która przewija tylko najbliższy kontener przewijania. Na przykład ten fragment kodu przewija tylko kontener przewijania elementu target, aby wyświetlić element target, ale nie przewija wszystkich kontenerów przewijania do widocznego obszaru:

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

Dodawanie właściwości CSS caret-animation

Chromium obsługuje animację właściwości caret-color. Jednak podczas 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 działanie przeglądarki (miganie), a manual oznacza, że deweloper kontroluje animację kursora. Użytkownicy, którym przeszkadza miganie lub którzy mają na nie niekorzystne reakcje, mogą wyłączyć miganie za pomocą arkusza stylów użytkownika.

Interfejs API highlightsFromPoint

Interfejs API highlightsFromPoint umożliwia deweloperom interakcję z niestandardowymi wyróżnieniami. Wykrywa, które wyróżnienia znajdują się w określonym punkcie dokumentu. Ta interaktywność jest przydatna w przypadku złożonych funkcji internetowych, w których może występować nakładanie się wielu wyróżnień lub ich obecność w cieniu DOM. Dzięki precyzyjnemu wykrywaniu wyróżnień na podstawie punktów interfejs API umożliwia deweloperom skuteczniejsze zarządzanie dynamicznymi interakcjami z niestandardowymi wyróżnieniami. Deweloperzy mogą na przykład reagować na kliknięcia użytkowników lub najechanie kursorem na wyróżnione obszary, aby wywoływać niestandardowe dymki, menu kontekstowe lub inne funkcje interaktywne.

Zmiana czasu obietnicy zakończenia przejścia widoku

Obecny czas zakończenia obiektu typu Promise występuje w krokach cyklu renderowania. Oznacza to, że kod, który jest wykonywany w wyniku rozwiązania obietnicy, jest wykonywany po wygenerowaniu ramki wizualnej, która usuwa przejście widoku. Może to powodować migotanie na końcu animacji, jeśli skrypt przenosi style, aby zachować wizualnie podobny stan. Ta zmiana rozwiązuje ten problem, przenosząc kroki czyszczenia ViewTransition do wykonywania asynchronicznego po zakończeniu cyklu życia.

Dodawanie atrybutu źródłowego ToggleEvent

Atrybut source elementu ToggleEvent zawiera element, który wywołał zdarzenie 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 wyskakującym okienku będzie miało atrybut źródłowy ustawiony na wywołujący element <button>.

Uniemożliwianie elementowi SVG foreignObject zanieczyszczania kanwy w przypadku adresów URL blob

Wszystkie przeglądarki od dawna obsługują używanie elementu <img> ze źródłem SVG w operacji na kanwie HTML drawImage. Jednak zachowanie związane z zanieczyszczeniem kanwy różni się w zależności od platformy. Wszystkie przeglądarki zanieczyszczają kanwę, gdy źródło SVG zawiera tag foreignObject i jest do niego odwoływane za pomocą identyfikatora URI HTTP. Gdy ten sam element SVG jest przywoływany za pomocą identyfikatora URI danych, wszystkie przeglądarki nie zanieczyszczają kanwy. Jednak gdy używany jest identyfikator URI blob, zarówno Chromium (przed tą zmianą), jak i WebKit zanieczyszczają kanwę, ale Gecko nie. Gdy ta funkcja zostanie udostępniona, działanie Chromium będzie zgodne z działaniem Gecko, co umożliwi używanie w wywołaniach drawImage na kanwie szerszego zakresu treści SVG bez zanieczyszczania.

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

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. Przeglądarki oparte na Chromium nie obsługują jednak 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 żadne formy binarne ani niestandardowe. Czcionki zmienne są coraz częściej używane zarówno ze względu na wydajność, jak i elastyczność typograficzną. Dodanie obsługi tego deskryptora w Chromium zwiększa kontrolę, zmniejsza powtarzalność i umożliwia bardziej skalowalne, nowoczesne podejście do typografii internetowej.

Interfejsy API

Konwertowanie Uint8Array na base64 i szesnastkowy oraz z powrotem

Base64 to powszechny sposób reprezentowania dowolnych danych binarnych jako ASCII. JavaScript ma Uint8Arrays na potrzeby danych binarnych. Nie ma jednak wbudowanego mechanizmu kodowania tych danych jako base64 ani pobierania danych base64 i tworzenia odpowiadającego im elementu Uint8Array. Ta funkcja dodaje możliwość i metody konwertowania między ciągami szesnastkowymi a elementami Uint8Arrays.

Używanie opcji min w ReadableStreamBYOBReader

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 rozwiązaniem odczytu. Określając wartość min, możesz wymagać, aby strumień czekał, aż będzie dostępnych co najmniej tyle elementów, zanim rozwiąże odczyt. Poprawia to obecne działanie, w którym odczyty mogą być rozwiązywane z mniejszą liczbą elementów niż może pomieścić widok.

W niektórych przypadkach ważne jest, aby po stronie serwera odróżnić pliki cookie ustawione przez serwer od plików cookie ustawionych przez klienta. Jednym z takich przypadków są pliki cookie, które są zwykle zawsze ustawiane przez serwer. Nieoczekiwany kod (np. wykorzystanie luki XSS, złośliwe rozszerzenie lub zatwierdzenie przez zdezorientowanego dewelopera) może jednak ustawić je po stronie klienta. Ta propozycja dodaje sygnał, który umożliwia serwerom takie rozróżnienie. W szczególności definiuje prefiksy __Http i __HostHttp, które zapewniają, że plik cookie nie zostanie ustawiony po stronie klienta za pomocą skryptu.

Ograniczenia dostępu do sieci lokalnej

Chrome 140 ogranicza możliwość wysyłania żądań do sieci lokalnej użytkownika, wymagając wyświetlenia prośby o uprawnienia. Żądanie sieci lokalnej to każde żądanie z publicznej witryny do lokalnego adresu IP lub pętli zwrotnej albo z lokalnej witryny (np. intranetu) do pętli zwrotnej. Ograniczenie możliwości wysyłania tych żądań przez witryny za pomocą uprawnień zmniejsza ryzyko ataków typu żądanie z innej witryny na urządzenia sieci lokalnej, takie jak routery. Zmniejsza też możliwość wykorzystywania tych żądań przez witryny do tworzenia odcisków cyfrowych sieci lokalnej użytkownika. To uprawnienie jest ograniczone do bezpiecznych kontekstów. Jeśli uprawnienie zostanie przyznane, spowoduje też złagodzenie blokowania treści mieszanych w przypadku żądań sieci lokalnej, ponieważ wiele urządzeń lokalnych nie może z różnych powodów uzyskać publicznie zaufanych certyfikatów TLS.

Więcej informacji znajdziesz w artykule Nowa prośba o uprawnienia dostępu do sieci lokalnej.

Umożliwianie skryptom SharedWorker dziedziczenia kontrolera w przypadku adresów URL skryptów blob

Specyfikacja stanowi, że moduły robocze powinny dziedziczyć kontrolery dla adresu URL bloba. Jednak istniejący kod pozwala na dziedziczenie kontrolera tylko w przypadku modułów roboczych dedykowanych, a moduły robocze współdzielone nie dziedziczą kontrolera. Poprawia to działanie Chrome, aby było zgodne ze specyfikacją. Tę funkcję kontroluje zasada dla przedsiębiorstw SharedWorkerBlobURLFixEnabled.

Dodawanie ServiceWorkerStaticRouterTimingInfo

Ta funkcja dodaje informacje o czasie działania interfejsu API routingu statycznego ServiceWorker, które są udostępniane deweloperom w interfejsie API czasu działania nawigacji i interfejsie API czasu działania zasobów. ServiceWorker udostępnia informacje o czasie, aby oznaczać określone punkty w czasie.

Ta funkcja dodaje 2 informacje o czasie działania związane z interfejsem API routingu statycznego:

  • RouterEvaluationStart: czas rozpoczęcia dopasowywania żądania do zarejestrowanych reguł routera.
  • CacheLookupStart: czas rozpoczęcia wyszukiwania w pamięci podręcznej, jeśli źródło to "cache".

Ta funkcja dodaje też 2 informacje o źródle routera: dopasowane źródło routera i ostateczne źródło routera.

Włączanie warunkowego tworzenia uwierzytelniania internetowego na Androidzie (nie jest wdrażane)

Izolowane aplikacje internetowe

Wprowadzenie interfejsu Controlled Frame API

Ta funkcja dodaje interfejs Controlled Frame API dostępny tylko dla izolowanych aplikacji internetowych. Podobnie jak interfejsy API o podobnych nazwach na innych platformach, Controlled Frame umożliwia umieszczanie wszystkich treści, nawet treści osób trzecich, których nie można umieścić w elemencie <iframe>. Controlled Frame umożliwia też sterowanie umieszczonymi treściami za pomocą zbioru metod i zdarzeń interfejsu API. Więcej informacji o izolowanych aplikacjach internetowych znajdziesz w wyjaśnieniu dotyczącym izolowanych aplikacji internetowych.

Nowe wersje próbne origin

W Chrome 140 możesz wziąć udział w tych nowych wersjach próbnych origin.

Dodawanie zdarzenia clipboardchange

Zdarzenie clipboardchange jest wywoływane, gdy aplikacja internetowa lub inna aplikacja systemowa zmienia zawartość systemowego schowka. Umożliwia to aplikacjom internetowym, takim jak klienci zdalnego pulpitu, synchronizowanie schowków z systemowym schowkiem. Jest to wydajna alternatywa dla sondowania schowka za pomocą JavaScript w celu wykrywania zmian.

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

Ta funkcja rozszerza interfejs Notifications API, aby umożliwić zainstalowanym progresywnym aplikacjom internetowym wysyłanie powiadomień o połączeniach przychodzących – powiadomień z przyciskami w stylu połączeń i dzwonkiem. To rozszerzenie pomaga aplikacjom internetowym VoIP tworzyć bardziej angażujące wrażenia, ułatwiając użytkownikom rozpoznawanie powiadomień o połączeniach i odpowiadanie na nie. Ta funkcja pomaga też zmniejszyć różnice między implementacjami natywnymi i internetowymi aplikacji, które mają obie te implementacje.

Wprowadzenie interfejsu API raportowania awarii opartego na parach klucz-wartość

Ta funkcja wprowadza nowy interfejs API oparty na parach klucz-wartość, tymczasowo window.crashReport, który jest obsługiwany przez mapę na dokument, która zawiera dane dołączane do raportów o awariach.

Dane umieszczone w mapie obsługującej ten interfejs API są wysyłane w elemencie CrashReportBody, jeśli w witrynie wystąpią awarie procesu renderowania. Umożliwia to deweloperom debugowanie, który konkretny stan w aplikacji może powodować daną awarię.

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 1 funkcję.

Wycofanie specjalnych reguł rozmiaru czcionki dla elementu <h1> w niektórych elementach

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

Te specjalne reguły zostały wycofane, ponieważ powodują problemy z dostępnością. Mianowicie wizualnie zmniejszają rozmiar czcionki zagnieżdżonych elementów <h1>, tak aby wyglądały jak elementy <h2>, ale nic w drzewie dostępności nie odzwierciedla tej zmiany wizualnej.