Chrome 140 w wersji beta

Opublikowano: 6 sierpnia 2025 r.

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

CSS i interfejs

Arytmetyka z typami w CSS

Wpisane działania arytmetyczne umożliwiają pisanie wyrażeń w CSS, 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 jednostki przez wartość innego typu. Możesz na przykład przekształcić piksele na stopnie.

Usługa 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 stylizować za pomocą klasy pseudo :target-current.

Włącz counter() i counters() w tekście alternatywnym usługi content

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

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

Pseudo drzewo przejścia widoku dziedziczy teraz szereg 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 zagnieżdżonego drzewa pseudoelementów zamiast płaskiego drzewa. 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.

Propagowanie 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 elementu <body> do obszaru wyświetlania. 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 od dawna problem z propagowaniem overscroll-behavior z <body> zamiast z katalogu głównego. To zachowanie nie jest zgodne z innymi przeglądarkami. Dzięki tej zmianie Chrome będzie zgodny ze specyfikacją i będzie działać z innymi implementacjami.

Opcja kontenera ScrollIntoView

Opcja kontenera ScrollIntoViewOptions umożliwia deweloperom wykonanie operacji scrollIntoView, która przewija tylko najbliższy kontener przewijania elementu nadrzędnego. 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 obszaru widocznego:

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 przeszkadza w animacji.

Właściwość caret-animation usługi porównywania cen może mieć 2 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 reagują na nie negatywnie, mogą wyłączyć miganie za pomocą arkusza stylów użytkownika.

Interfejs highlightsFromPoint API

Interfejs API highlightsFromPoint umożliwia programistom interakcję z niestandardowymi wyróżnieniami. Wykrywa, które wyróżnienia 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 cieniu DOM. Dzięki precyzyjnemu wykrywaniu punktowych wyróżnień 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 zdarzenia najechania kursorem na wyróżnione regiony, aby wywoływać niestandardowe etykietki, menu kontekstowe lub inne funkcje interaktywne.

Zmiana czasu zakończenia obietnicy View Transition

Obecny czas zakończenia obietnicy przypada na etapy cyklu życia 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 ViewTransition do działania asynchronicznego po zakończeniu cyklu życia.

Dodaj atrybut źródła ToggleEvent

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>.

Zapobieganie zanieczyszczaniu płótna przez SVG foreignObject w przypadku adresów URL obiektów blob

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

Obsługa deskryptora font-variation-settings w usłudze @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. 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 zdefiniowaną w specyfikacji CSS Fonts Level 4. Nieprawidłowe lub nierozpoznane tagi funkcji są ignorowane zgodnie ze specyfikacją. Nie obsługujemy formularzy binarnych ani niestandardowych. 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.

Interfejsy API sieci

Konwertowanie Uint8Array na base64 i hex oraz z tych formatów

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 formacie base64 i generowania odpowiedniego Uint8Array. Ta funkcja dodaje możliwość i metody konwertowania ciągów szesnastkowych na Uint8Arrays i odwrotnie.

Użyj opcji 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 minwartość, 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ą zwracać mniejszą liczbę elementów niż może pomieścić widok.

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 są zwykle zawsze ustawiane przez serwer. Nieoczekiwany kod (np. wykorzystujący lukę XSS, złośliwe rozszerzenie lub zatwierdzenie od nieświadomego dewelopera) może jednak ustawić je po stronie klienta. Ta propozycja dodaje sygnał, który umożliwia serwerom rozróżnianie tych sytuacji. W szczególności definiuje przedrostki __Http i __HostHttp, które zapewniają, że plik cookie nie jest ustawiany 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 sprzężenia zwrotnego albo z lokalnej witryny (np. intranetu) do sprzężenia zwrotnego. Ograniczenie możliwości wykonywania tych żądań przez witryny za pomocą uprawnień zmniejsza ryzyko ataków typu CSRF (cross-site request forgery) na urządzenia w sieci lokalnej, takie jak routery. Ogranicza 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 użytkownik przyzna to uprawnienie, spowoduje to również złagodzenie blokowania treści mieszanych w przypadku żądań sieci lokalnej, ponieważ wiele urządzeń lokalnych z różnych powodów nie może uzyskać publicznie zaufanych certyfikatów TLS.

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

Włączanie skryptów SharedWorker do dziedziczenia kontrolera dla adresów URL skryptów blob

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ą. Tą funkcją zarządzają zasady firmowe SharedWorkerBlobURLFixEnabled.

Dodaj ServiceWorkerStaticRouterTimingInfo

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

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 rozpoczęcia wyszukiwania w 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.

Włączanie warunkowego tworzenia uwierzytelniania internetowego na Androidzie (nie jest jeszcze dostępne)

Izolowane aplikacje internetowe

Wprowadzenie do interfejsu Controlled Frame API

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, Controlled Frame umożliwia osadzanie wszystkich treści, nawet treści osób trzecich, których nie można osadzić w <iframe>. Interfejs Controlled Frame umożliwia też sterowanie umieszczonymi treściami za pomocą kolekcji metod i zdarzeń API. Więcej informacji o izolowanych aplikacjach internetowych znajdziesz w wyjaśnieniu dotyczącym izolowanych aplikacji internetowych.

Nowe testy pochodzenia

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

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.

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

Ta funkcja rozszerza interfejs Notifications API, aby zainstalowane aplikacje 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, ułatwiając użytkownikom rozpoznawanie i odbieranie powiadomień o połączeniach. Dodatkowo ta funkcja pomaga zmniejszyć różnicę między implementacjami natywnymi i internetowymi aplikacji, które mają obie te implementacje.

Przedstawiamy interfejs API klucz-wartość do raportowania o awariach

Ta funkcja wprowadza nowy interfejs API klucz-wartość, tymczasowo oznaczony jako window.crashReport, oparty na mapie poszczególnych 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 parametrze 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ę.

Wycofane i usunięte elementy

Ta wersja Chrome wprowadza wycofania i usunięcia wymienione poniżej. Listy planowanych wycofań, aktualnych wycofań i poprzednich usunięć znajdziesz na stronie ChromeStatus.com.

W tej wersji Chrome wycofujemy jedną 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ą. W praktyce wizualnie zmniejszają rozmiar czcionki w przypadku zagnieżdżonych elementów <h1>, tak aby wyglądały jak elementy <h2>, ale nic w drzewie ułatwień dostępu nie odzwierciedla tej zmiany wizualnej.