Data wydania wersji stabilnej: 5 maja 2026 r.
O ile nie zaznaczono inaczej, te zmiany dotyczą wersji stabilnej Chrome 148 kanału na Androida, ChromeOS, Linuksa, macOS i Windowsa.
CSS i interfejs
Zapytania o kontener CSS tylko z nazwą
Zapytanie o kontener CSS można wysłać tylko na podstawie jego nazwy. Kontener nie musi mieć ustawionego żadnego typu:
#container {
container-name: --foo;
}
@container --foo {
input { background-color: green; }
}
<div id="container">
<div><input></div>
</div>
Wcześniej oprócz nazwy elementu @container wymagany był też typ kontenera.
Błąd śledzenia nr 40287550 | Wpis w ChromeStatus.com | Specyfikacja
Reguła @: wykrywanie funkcji CSS
Ta funkcja dodaje do CSS @supports funkcję at-rule(), która umożliwia autorom wykrywanie obsługi reguł @ w CSS.
Błąd śledzenia nr 40211832 | Wpis w ChromeStatus.com | Specyfikacja
Kształtowanie tekstu i renderowanie glifów w formacie Open Font Format avar2
Wersja 2 tabeli avar (Axis Variations) umożliwia projektantom czcionek tworzenie czcionek zmiennych z lepszą kontrolą interpolacji. O ile oryginalna specyfikacja czcionek zmiennych obsługuje osie niezależnie, avar2 umożliwia wzajemne oddziaływanie osi. Dzięki temu czcionki są łatwiejsze w użyciu dla autorów treści i umożliwiają kompaktowe przechowywanie.
Avar2 działa na podstawie tych samych znanych koncepcji wariantów czcionek, ale stosuje wartości delta zmiennych do specyfikacji osi projektu. Dodatkowo umożliwia to robienie w zakresie wielu osi.
Na przykład umożliwia projektantom czcionek tworzenie „metasliderów”, które sterują jednocześnie wieloma osiami wariantów, co zwalnia użytkownika z konieczności precyzyjnego dostrajania i znajdowania przydatnego rogu przestrzeni projektowej czcionki.
Avar2 zapewnia projektantom czcionek większą kontrolę nad użyteczną przestrzenią wariantów czcionki i umożliwia koordynowanie dostosowywania osi projektu na kilku osiach.
Dzięki zdefiniowaniu relacji między osiami matematycznie w tabeli avar w wersji 2 czcionki mogą osiągać złożone projekty z mniejszą liczbą wzorców, co prowadzi do mniejszych rozmiarów plików, ponieważ interpolacja jest przechowywana wydajniej.
Błąd śledzenia nr 40246300 | Wpis w ChromeStatus.com | Specyfikacja
Słowo kluczowe revert-rule
Słowo kluczowe revert-rule przywraca kaskadę do poprzedniej reguły, podobnie jak revert-layer przywraca kaskadę do poprzedniej warstwy. Na przykład:
div { color: green; }
div { color: revert-rule; /* Effectively green */ }
Jest to szczególnie przydatne w połączeniu z warunkami, ponieważ umożliwia wyeliminowanie bieżącej reguły, jeśli nie zostanie spełniony jakiś warunek:
div {
display: if(style(--layout: fancy): grid; else: revert-rule);
}
Błąd śledzenia nr 393582263 | Wpis w ChromeStatus.com | Specyfikacja
Leniwe ładowanie elementów wideo i audio
Dodaje atrybut loading do elementów <video> i <audio>, co umożliwia
deweloperom odroczenie wczytywania zasobów multimedialnych do momentu, gdy element znajdzie się w pobliżu
widocznego obszaru, za pomocą loading="lazy". Jest to zgodne z dotychczasowym leniwym ładowaniem elementów <img> i <iframe>, co poprawia wydajność wczytywania strony i zmniejsza użycie danych.
Błąd śledzenia nr 469111735 | Wpis w ChromeStatus.com | Specyfikacja
text-decoration-skip-ink: all
Dodaj obsługę wartości all dla właściwości CSS text-decoration-skip-ink.
Właściwość text-decoration-skip-ink obsługuje już wartości auto i none. Wartość all rozszerza tę obsługę, bezwarunkowo stosując pomijanie atramentu do wszystkich glifów, w tym znaków CJK. Wartość auto pozostawia znaki CJK bez pomijania, ponieważ pomijanie atramentu zwykle daje niepożądane efekty wizualne w przypadku skryptów ideograficznych w typowych pozycjach podkreślenia.
Dzięki text-decoration-skip-ink: all deweloperzy, którzy dostosowali text-underline-position lub text-underline-offset, aby uniknąć kolizji z glifami CJK, mogą wyraźnie włączyć pomijanie atramentu również w przypadku tych znaków.
Błąd śledzenia nr 40675832 | Wpis w ChromeStatus.com | Specyfikacja
Prawidłowe ustawianie dropEffect dla zdarzeń dragEnter, dragLeave i dragOver
Specyfikacje przeciągania i upuszczania wymagają, aby atrybut dropEffect obiektu dataTransfer miał określone wartości w przypadku zdarzeń dragEnter, dragOver i dragLeave. Zdarzenia drag enter i drag over powinny mieć dropEffect na podstawie bieżącego effectAllowed, a zdarzenie dragLeave powinno zawsze mieć dropEffect o wartości none. Obecnie Chromium nie przestrzega tych reguł. Po wprowadzeniu tej funkcji Chromium zacznie przestrzegać specyfikacji i przypisywać prawidłowe wartości do tego atrybutu, dzięki czemu deweloperzy stron internetowych będą mogli na nim polegać.
Błąd śledzenia nr 434151262 | Wpis w ChromeStatus.com | Specyfikacja
Pomijanie zdarzeń wskaźnika podczas rozpoczynania przeciągania
Zgodnie ze specyfikacją HTML, gdy rozpoczyna się przeciąganie, agent użytkownika powinien wysłać odpowiednie zdarzenia do źródła przeciągania, aby wskazać, że strumień zdarzeń wskaźnika się zakończył i że nie należy oczekiwać więcej zdarzeń z tego wskaźnika.
Ten kod został częściowo zaimplementowany w przypadku zdarzeń myszy i w pełni w przypadku przeciągania dotykowego na Androidzie. Dzięki pracy nad tą funkcją chcemy w pełni spełnić to wymaganie specyfikacji na wszystkich innych platformach. W praktyce oznacza to, że po rozpoczęciu przeciągania źródło przeciągania będzie otrzymywać zdarzenia pointercancel, pointerout i pointerleave, aby wskazać, że bieżący strumień zdarzeń się zakończył.
Błąd śledzenia nr 452372355 | Wpis w ChromeStatus.com | Specyfikacja
Uprawnienia
Lokalizacja pliku manifestu
Obsługuje lokalizację elementów pliku manifestu, dzięki czemu aplikacje mogą dostosowywać swoje nazwy, opisy, ikony i skróty do języka i regionu użytkownika. Deweloperzy podają zlokalizowane wartości w pliku manifestu aplikacji internetowej, a przeglądarka automatycznie wybiera odpowiednie zasoby na podstawie ustawień językowych użytkownika, wprowadzając obsługę języków na różnych rynkach.
Więcej informacji znajdziesz w artykule Obsługa lokalizacji w plikach manifestu aplikacji internetowych.
Błąd śledzenia nr 380491647 | Wpis w ChromeStatus.com | Specyfikacja
Internet na Androidzie
Web Serial API na Androidzie
Web Serial API udostępnia interfejs do łączenia się z urządzeniami szeregowymi za pomocą portu szeregowego w systemie użytkownika lub wymiennych urządzeń USB i Bluetooth, które emulują port szeregowy. Jest teraz obsługiwany na Androidzie.
Użytkownicy, zwłaszcza w sektorach edukacyjnym, hobbystycznym i przemysłowym, łączą z komputerami urządzenia peryferyjne, które wymagają niestandardowego oprogramowania do sterowania. Na przykład robotyka jest często wykorzystywana do nauczania programowania i elektroniki w szkołach. Wymaga to oprogramowania, które może przesyłać kod do robota lub sterować nim zdalnie. W środowisku przemysłowym lub hobbystycznym urządzenie, takie jak frezarka, laser lub drukarka 3D, jest sterowane przez program działający na podłączonym komputerze. Te urządzenia są często sterowane przez małe mikrokontrolery za pomocą połączenia szeregowego.
Więcej informacji znajdziesz w przewodniku Web Serial API na web.dev i w specyfikacji Web Serial.
Błąd śledzenia nr 365514951 Wpis w ChromeStatus.com
SharedWorker na Androidzie
Przez długi czas SharedWorker był wyłączony na Androidzie ze względu na obawy dotyczące nieprzewidywalnego cyklu życia procesu. Instancje SharedWorker mogą się nieoczekiwanie zakończyć bez powiadamiania użytkowników ani deweloperów stron internetowych.
Jednak niedawna dyskusja na GitHubie (zobacz dyskusję na GitHubie) sugeruje, że nieprzewidywalny charakter cyklu życia procesu SharedWorker może nie być tak istotnym problemem jak wcześniej sądzono. Na tej podstawie SharedWorker jest ponownie włączany na Androidzie, a to zachowanie jest badane, aby zapewnić stabilne i niezawodne działanie.
Błąd śledzenia nr 40290702 | Wpis w ChromeStatus.com | Specyfikacja
Interfejsy API sieci
WebGPU: funkcja linear_indexing
Ta funkcja dodaje funkcje do specyfikacji WebGPU po jej pierwszym udostępnieniu w przeglądarce.
Dodaje 2 nowe wbudowane wartości cieniowania obliczeniowego, które ułatwiają użytkownikom pracę. Są one zaimplementowane we wszystkich backendach (jako polyfille istniejących wbudowanych wartości).
Błąd śledzenia nr 482840564 | Wpis w ChromeStatus.com | Specyfikacja
Tryb interfejsu natychmiastowego uwierzytelniania w internecie
Nowy tryb navigator.credentials.get(), który powoduje wyświetlenie użytkownikowi interfejsu logowania w przeglądarce, jeśli w przeglądarce jest dostępny klucz dostępu lub hasło do witryny, albo odrzuca obietnicę z NotAllowedError, jeśli takie dane logowania nie są dostępne. Dzięki temu witryna może uniknąć wyświetlania strony logowania, jeśli przeglądarka może zaoferować wybór danych logowania, które prawdopodobnie się powiodą, a jednocześnie umożliwia tradycyjny proces logowania w przypadkach, gdy takie dane logowania nie są dostępne.
Błąd śledzenia nr 408002783 | Wpis w ChromeStatus.com | Specyfikacja
Pobieranie funkcji potwierdzenia bezpiecznej płatności
Dodaje nową metodę statyczną do żądania płatności, która umożliwia deweloperom stron internetowych uzyskanie informacji o funkcjach implementacji potwierdzenia bezpiecznej płatności w przeglądarce.
Pomaga to deweloperom stron internetowych dowiedzieć się, jakie funkcje są dostępne w przypadku potwierdzenia bezpiecznej płatności, aby mogli zdecydować, czy chcą używać potwierdzenia bezpiecznej płatności z tymi funkcjami.
Błąd śledzenia nr 484043990 | Wpis w ChromeStatus.com | Specyfikacja
Dłuższy okres istnienia modułów SharedWorker
Ta aktualizacja dodaje nową opcję extendedLifetime: true do konstruktora SharedWorker. Ta nowa opcja powoduje, że moduł SharedWorker jest aktywny nawet po zamknięciu wszystkich bieżących klientów. Umożliwia to stronom wykonywanie asynchronicznych zadań, które wymagają JavaScriptu, po zamknięciu strony, bez konieczności korzystania ze skryptu service worker.
Błąd śledzenia nr 400473072 | Wpis w ChromeStatus.com | Specyfikacja
Prompt API
Prompt API zapewnia deweloperom stron internetowych bezpośredni dostęp do modelu językowego AI na urządzeniu udostępnianego przez przeglądarkę. Projekt interfejsu API zapewnia szczegółową kontrolę, zgodną z kształtami interfejsu API w chmurze, w celu stopniowego ulepszania witryn za pomocą interakcji z modelem dostosowanych do indywidualnych przypadków użycia. Uzupełnia to interfejsy API modeli językowych oparte na zadaniach, np. Summarizer API, a także różne interfejsy API i platformy do uogólnionego wnioskowania na urządzeniu za pomocą modeli ML dostarczonych przez dewelopera.
Początkowa implementacja obsługuje dane wejściowe w postaci tekstu, obrazu i dźwięku. Dodatkowo ograniczenia odpowiedzi zapewniają, że wygenerowany tekst jest zgodny z predefiniowanymi wyrażeniami regularnymi i formatami schematu JSON.
Obsługuje to różne przypadki użycia, od generowania podpisów obrazów i wyszukiwania wizualnego po transkrypcję dźwięku, klasyfikowanie zdarzeń dźwiękowych, generowanie tekstu zgodnie z określonymi instrukcjami oraz wyodrębnianie informacji lub spostrzeżeń z materiałów źródłowych w wielu formatach.
Błąd śledzenia nr 417526788 | Wpis w ChromeStatus.com | Specyfikacja
Sieć i łączność
Reguły IDNA ContextJ
IDNA to mechanizm obsługi znaków spoza zestawu ASCII w nazwach domen. Koduje adres URL, np. http://네이버.한국/, jako http://xn--950bt9s8xi.xn--3e0b707e/ (przekierowanie do naver.com).
Specyfikacja adresu URL ustawia flagę CheckJoiners, która włącza reguły ContextJ w IDNA2008. Uniemożliwia to używanie znaków ZWNJ (U+200C ZERO WIDTH NON-JOINER) i ZWJ (U+200D ZERO WIDTH JOINER) w większości miejsc w adresach URL. Implementacja przekazuje opcję UIDNA_CHECK_CONTEXTJ do ICU, gdzie jest zaimplementowana ta reguła.
Błąd śledzenia nr 40765949 | Wpis w ChromeStatus.com | Specyfikacja
Ponowne używanie obrazów no-store przy ponownym przypisywaniu tego samego źródła
Zezwalaj na ponowne używanie dostępnych obrazów w tym samym dokumencie, aby pominąć ponowne wczytywanie Cache-Control: no-store
reload, gdy ta sama wartość src zostanie ponownie przypisana do elementu <img>. Wcześniej Blink ponownie pobierał obraz, mimo że był już zdekodowany i dostępny w dokumencie. Jest to zgodne z dotychczasowym działaniem Gecko i WebKit.
Błąd śledzenia nr 486562295 | Wpis w ChromeStatus.com | Specyfikacja
Skuteczność
ContentType w Resource Timing
Dodaje pole contentType do PerformanceResourceTiming, aby przechowywać ciąg znaków odpowiadający nagłówkowi HTTP Content-Type pobranego zasobu zwróconemu przez serwer.
Błąd śledzenia nr 1366706 | Wpis w ChromeStatus.com | Specyfikacja
WebRTC Datachannel: zawsze negocjuj kanały danych
Implementuje rozszerzenie WebRTC alwaysNegotiateDataChannels, które określa sposób negocjowania kanałów danych przez aplikację w ofercie SDP przed utworzeniem kanału danych. Negocjuje też sekcję danych m= przed sekcjami audio lub
wideo m i używa jej jako „sekcji oznaczonej przez oferenta m=” dla BUNDLE.
Oznacza to, że:
const pc = new RTCPeerConnection({ alwaysNegotiateDataChannels: true });
const offer = await pc.createOffer();
utworzy ofertę z wierszem m aplikacji w SDP, a:
const pc = new RTCPeerConnection({ alwaysNegotiateDataChannels: true });
pc.addTransceiver('audio');
pc.createDataChannel('somechannel');
const offer = await pc.createOffer();
utworzy ofertę, która negocjuje wiersz m aplikacji, a następnie wiersz m audio w SDP.
Błąd śledzenia nr 433898678 | Wpis w ChromeStatus.com | Specyfikacja
Nowe wersje próbne origin
Deklaratywne skrypty modułów CSS
Deklaratywne skrypty modułów CSS są rozszerzeniem istniejących skryptów modułów CSS opartych na skryptach. Umożliwiają deweloperom udostępnianie deklaratywnych arkuszy stylów z korzeniami cienia, w tym deklaratywnych korzeni cienia. Deweloperzy mogą definiować
moduły stylów wbudowanych za pomocą <style type="module" specifier="foo"> i stosować
moduł deklaratywny do deklaratywnego DOM cienia, odwołując się do specyfikatora lub
adresu URL, np. <template shadowrootmode="open"
shadowrootadoptedstylesheets="foo">.
Wersja próbna origin | Błąd śledzenia nr 448174611 | Wpis w ChromeStatus.com | Specyfikacja
Container Timing API
Container Timing API umożliwia monitorowanie, kiedy oznaczone sekcje DOM są wyświetlane na ekranie i kiedy zakończyły się ich początkowe renderowanie. Deweloper będzie mógł oznaczać podsekcje DOM za pomocą atrybutu containertiming (podobnie jak elementtiming w przypadku Element Timing API) i otrzymywać wpisy dotyczące wydajności, gdy ta sekcja zostanie po raz pierwszy wyrenderowana. Ten interfejs API umożliwi deweloperom mierzenie czasu działania różnych komponentów na stronach.
Wersja próbna origin | Błąd śledzenia nr 382422286 | Wpis w ChromeStatus.com | Specyfikacja
Element instalacji HTML aplikacji internetowej
Umożliwia witrynie deklaratywne proszenie użytkowników o zainstalowanie aplikacji internetowej. Element opcjonalnie akceptuje 2 atrybuty, które umożliwiają instalowanie treści z innego źródła.
Wersja próbna origin | Błąd śledzenia nr 454827186 | Wpis w ChromeStatus.com | Specyfikacja
Czas trwania stylu długich klatek animacji
Dodaj informacje styleDuration i forcedStyleDuration do Long Animation Frame API, aby umożliwić deweloperom rozróżnianie czasu stylu i układu.
Wersja próbna origin | Błąd śledzenia nr 476826067 | Wpis w ChromeStatus.com | Specyfikacja
HTML w elemencie canvas
HTML w elemencie canvas umożliwia dostosowywanie renderowania kodu HTML za pomocą elementu canvas dzięki 3 nowym elementom podstawowym: atrybutowi umożliwiającemu włączenie elementów canvas (layoutsubtree), metodom rysowania elementów podrzędnych (2d: drawElementImage, webgl: texElementImage2D, webgpu: copyElementImageToTexture) oraz zdarzeniu paint, które jest wywoływane w celu obsługi aktualizacji.
Wersja próbna origin | Błąd śledzenia nr 500967896 | Wpis w ChromeStatus.com | Specyfikacja
Listy dozwolonych połączeń
Listy dozwolonych połączeń to funkcja, która zapewnia wyraźną kontrolę nad zewnętrznymi punktami końcowymi przez ograniczenie połączeń inicjowanych za pomocą Fetch API lub innych interfejsów API platformy internetowej z dokumentu lub workera.
Proponowana implementacja obejmuje dystrybucję listy autoryzowanych punktów końcowych z serwera za pomocą nagłówka odpowiedzi HTTP. Przed nawiązaniem połączenia przez klienta użytkownika w imieniu strony, agent sprawdzi miejsce docelowe na liście dozwolonych. Połączenia z zweryfikowanymi punktami końcowymi będą dozwolone, a te, które nie pasują do wpisów na liście, zostaną zablokowane.
Wersja próbna origin | Błąd śledzenia nr 447954811 | Wpis w ChromeStatus.com | Specyfikacja
Parametry próbkowania Prompt API
Dodaje parametry próbkowania do Prompt API. Określają one sposób próbkowania tokenów z modelu, co umożliwia deweloperom kontrolowanie „kreatywności” lub „losowości” danych wyjściowych. Dodatkowo dodaje atrybuty do instancji LanguageModel, aby odczytywać ustawione wartości, a także statyczną funkcję LanguageModel, aby pobierać domyślne i maksymalne wartości tych parametrów.
Pierwsza implementacja dodaje parametry temperature i topK.
Wersja próbna origin | Błąd śledzenia nr 496663356 | Wpis w ChromeStatus.com | Specyfikacja
Parsowanie instrukcji przetwarzania w HTML
Instrukcje przetwarzania (składnia: <?target data>) to istniejąca konstrukcja DOM,
która jest widoczna w XML i umożliwia tworzenie obiektów węzłów, które nie są elementami, ale mogą mieć pewne
znaczenie semantyczne dla przetwarzania dokumentu.
Można ich na przykład używać do oznaczania zakresów na potrzeby przesyłania strumieniowego lub wyróżniania bez konieczności tworzenia nowych elementów DOM i zmiany struktury DOM w zakresie CSS lub jako dyrektyw dla parsera HTML dotyczących sposobu buforowania i przesyłania strumieniowego.
Błąd śledzenia nr 481087638 | Wpis w ChromeStatus.com
OpaqueRange
OpaqueRange reprezentuje aktywny zakres tekstu w wartości kontrolki formularza,
np. <textarea> lub <input> opartego na tekście, dzięki czemu deweloperzy mogą pracować z
tekstem wartości za pomocą interfejsów API podobnych do zakresu.
Umożliwia operacje takie jak getBoundingClientRect(), getClientRects() i integrację z CSS Custom Highlight API w przypadku interfejsu, np. sugestii w tekście, wyróżnień i zakotwiczonych wyskakujących okienek. Zachowuje hermetyzację, udostępniając tylko przesunięcia wartości, a jednocześnie zwracając null dla startContainer i endContainer, dzięki czemu punkty końcowe DOM i struktura wewnętrzna nie są widoczne.
Wersja próbna origin | Błąd śledzenia nr 421421332 | Wpis w ChromeStatus.com