Data wprowadzenia wersji stabilnej: 10 lutego 2026 r.
O ile nie zaznaczono inaczej, poniższe zmiany dotyczą wersji stabilnej Chrome 145 na Androida, ChromeOS, Linuksa, macOS i Windowsa.
CSS i interfejs
Dodaliśmy obsługę właściwości CSS text-justify
Możesz kontrolować sposób justowania tekstu, gdy zastosowana jest wartość text-align: justify, za pomocą właściwości text-justify. Możesz na przykład wymusić wyrównanie do lewej i prawej strony, rozszerzając odstępy między znakami nawet w tekście w języku angielskim.
Błąd śledzenia nr 40321528 | Wpis na ChromeStatus.com | Specyfikacja
Włącz wartości procentowe dla właściwości CSS letter-spacing i word-spacing
Włącz wartości procentowe dla właściwości CSS letter-spacing i word-spacing zgodnie ze specyfikacją CSS Text Module Level 4. Wartości procentowe są obliczane w stosunku do miary zaliczki znaku spacji (U+0020). Zapewnia to większą kontrolę nad typografią, zwłaszcza w przypadku projektów elastycznych, w których odstępy w tekście muszą dostosowywać się do różnych obszarów wyświetlania i rozmiarów czcionek.
Błąd śledzenia nr 327740939 | Wpis na ChromeStatus.com | Specyfikacja
Ulepszanie obliczania krawędzi cienia promienia zaokrąglenia w przypadku wysokich wartości border-radius
Ta zmiana sprawia, że cienie i granice przycinania na elementach zbliżonych do okręgu (gdzie border-radius jest bliskie 50%) dokładnie odpowiadają wizualnemu konturowi zakrzywionej krawędzi.
Zapewnia to bardziej spójne renderowanie złożonych zaokrąglonych kształtów, eliminując różnice wizualne w przypadku dużych wartości promienia. Współczynnik border-radius korekty, który zapewnia ostrość narożników przy małych promieniach, jest stopniowo tłumiony, gdy wartość promienia zbliża się do 50%.
Dotyczy to również konturów nieokrągłych (używających corner-shape), które teraz korzystają z tego samego mechanizmu dostosowywania promienia.
Błąd śledzenia nr 448651073 | Wpis na ChromeStatus.com | Specyfikacja
Zawijanie kolumn w układzie wielokolumnowym
Dodaliśmy obsługę właściwości CSS column-wrap i column-height z modułu wielokolumnowego poziomu 2.
Umożliwia to układ kolumn pionowych, a nawet układ kolumn 2D. Kolumny mogą mieć
określoną wysokość, zamiast być wyznaczane na podstawie content-box
wysokości kontenera wielokolumnowego. Gdy wszystkie kolumny w jednym wierszu zostaną wypełnione, zawijają się do nowego wiersza kolumn, zamiast tworzyć kolumny przepełnione w kierunku wiersza.
Błąd śledzenia nr 403183884 | Wpis na ChromeStatus.com | Specyfikacja
Udostępnij zdarzenie onanimationcancel w GlobalEventHandlers
Specyfikacja animacji CSS na poziomie 1 rozszerza interfejs GlobalEventHandlers zdefiniowany w specyfikacji HTML, deklarując 4 nowe procedury obsługi zdarzeń: onanimationstart, onanimationiteration, onanimationend i onanimationcancel. W GlobalEventHandlers IDL brakowało tylko modułu obsługi zdarzeń onanimationcancel.
Błąd śledzenia nr 464010037 | Wpis na ChromeStatus.com | Specyfikacja
Pole listy wyboru z możliwością dostosowania
Rozszerza to obsługę dostosowywanego wyboru na tryb renderowania pola listy, w tym wybór pojedynczy i wielokrotny w trybie pola listy.
Tryb renderowania pola listy renderuje element select w przepływie lub na stronie, a nie za pomocą osobnego przycisku i wyskakującego okienka. Możesz włączyć tryb renderowania pola listy na różnych platformach za pomocą atrybutów multiple lub size, np. <select multiple> lub <select size=4>. Gdy do elementu select z tymi atrybutami zostanie zastosowana właściwość appearance: base-select CSS, poprawi to renderowanie i działanie danych wejściowych.
Nie obsługuje to konfigurowalnego elementu select w wyskakującym okienku wielokrotnego wyboru, który będzie obsługiwany w późniejszym czasie. Aby uzyskać wyskakujące okienko z możliwością wielokrotnego wyboru, musisz ustawić te atrybuty: <select multiple size=1>.
Błąd śledzenia nr 357649033 | Wpis na ChromeStatus.com | Specyfikacja
Opcja focusVisible na stronie focus
Podczas wywoływania metody focus() możesz podać wartość logiczną focusVisible w słowniku FocusOptions. Jeśli wartość to „true”, wokół nowo zaznaczonego elementu zawsze jest rysowany pierścień zaznaczenia, który pasuje do pseudoklasy :focus-visible.
Jeśli wartość to false, pierścień ostrości nie jest rysowany, a :focus-visible nie pasuje.
Jeśli go brakuje, klient użytkownika sam decyduje, czy należy narysować pierścień fokusu, a pseudoklasa :focus-visible jest odpowiednio dopasowywana.
Błąd śledzenia nr 462191849 | Wpis na ChromeStatus.com | Specyfikacja
Włącz renderowanie monochromatycznych emoji w trybie wymuszonych kolorów.
Ta zmiana aktualizuje sposób renderowania emoji w Chromium w trybie wymuszonych kolorów.
Podczas określania wartości obliczonej emotikony, których wartość font-variant-emoji wynosi normal lub unicode, są renderowane przy użyciu dostępnych glifów monochromatycznych.
Dlatego Chromium pomija renderowanie kolorowych emoji, co zapewnia, że emoji w pełni uczestniczą w procesie trybu wymuszonych kolorów i są zgodne z systemowymi kolorami o wysokim kontraście. Działanie poza trybem kolorów wymuszonych pozostaje bez zmian.
Błąd śledzenia nr 420857717 | Wpis na ChromeStatus.com | Specyfikacja
Efekt przewijania poza zakres w przypadku elementów przewijanych innych niż główne
Pokazuje to efekty elastycznego przewijania w kontenerach przewijania innych niż główne. Gdy zagnieżdżony element z możliwością przewijania osiągnie granicę przewijania, efekt przewijania poza zakres zostanie zastosowany do tego elementu, a nie tylko do głównego elementu przewijanego. Dzięki temu nie musisz stosować niestandardowych obejść w JavaScript. Możesz też kontrolować poszczególne elementy za pomocą parametru overscroll-behavior.
Błąd śledzenia nr 41102897 | Wpis na ChromeStatus.com | Specyfikacja
Uprawnienia
Wyświetlanie rzeczywistej pozycji okna na Androidzie
Chrome na Androida dokładnie raportuje położenie i rozmiar okna przeglądarki za pomocą window.screenX, window.screenY, window.outerWidth i window.outerHeight.
Chrome błędnie zakładał wcześniej, że wszystkie okna przeglądarki na Androidzie zaczynają się od współrzędnych (0, 0). To założenie jest nieprawidłowe w przypadku tabletów z Androidem, które korzystają z trybu okien o dowolnym kształcie. Witryny zawsze otrzymywały wartość 0, gdy wysyłały zapytanie o pozycję okna na ekranie za pomocą window.screenX i window.screenY. Te pola przechowują współrzędne lewego górnego rogu okna w globalnej przestrzeni współrzędnych obszaru roboczego.
Ponadto Chrome na Androidzie błędnie zakładał, że zewnętrzne wymiary okna przeglądarki są równe wewnętrznym wymiarom obszaru widocznego witryny.
window.screenX i window.screenY mają aliasy: window.screenLeft i window.screenTop.
Błąd śledzenia nr 417632037 | Wpis na ChromeStatus.com | Specyfikacja
JavaScript
Wstaw przez upsert
Jest to propozycja ECMAScript dotycząca Map.prototype.getOrInsert, Map.prototype.getOrInsertComputed, WeakMap.prototype.getOrInsert i WeakMap.prototype.getOrInsertComputed.
Błąd śledzenia nr 434977728 | Wpis na ChromeStatus.com | Specyfikacja
Interfejs API klucz-wartość do raportowania o awariach
Nowy interfejs API klucz-wartość, window.crashReport, jest obsługiwany przez mapę na dokument, która zawiera dane dołączane przez Chrome do raportów o awariach.
Dane umieszczone w mapie zapasowej tego interfejsu API są wysyłane w CrashReportBody, jeśli witryna spowoduje awarię procesu renderowania. Dzięki temu możesz debugować, który konkretny stan w aplikacji może powodować daną awarię.
Błąd śledzenia nr 400432195 | Wpis na ChromeStatus.com | Specyfikacja
Domyślnie zredukowane ciągi znaków klienta użytkownika
Od Chrome 145 przeglądarka usuwa zasadę UserAgentReduction. Ta zasada umożliwiała kontrolowanie, czy Chrome wysyłał skrócony czy pełny ciąg User-Agent.
Aby zwiększyć ochronę prywatności użytkowników i ograniczyć możliwości pasywnego śledzenia, w Chrome w wersji 110 domyślnie zaczęliśmy ograniczać informacje zawarte w nagłówku User-Agent. Zasada UserAgentReduction została wprowadzona jako tymczasowe rozwiązanie, które ma ułatwić firmom przejście na nowe rozwiązanie.
Zalecanym mechanizmem dostępu witryn do informacji o przeglądarce i urządzeniu jest interfejs User-Agent Client Hints (UA-CH). UA-CH wymaga od witryn aktywnego żądania konkretnych informacji, co jest bardziej przyjaznym dla prywatności podejściem niż starszy ciąg znaków klienta użytkownika. Więcej informacji znajdziesz w artykule na web.dev Migracja do interfejsu User-Agent Client Hints.
Od Chrome 145 zasada UserAgentReduction nie ma żadnego wpływu. Chrome domyślnie wysyła zredukowany ciąg tekstowy klienta użytkownika. Systemy lub aplikacje, które korzystały z tych zasad, aby otrzymywać pełny (starszy) ciąg User-Agent, mogą już nie otrzymywać oczekiwanych szczegółowych informacji.
Navigation API: udostępnianie miejsca docelowego w navigation.transition
NavigationTransition ma właściwość from, która udostępnia stary adres URL nawigacji. Wystawienie to (NavigationDestination) kończy ten proces. Jest to szczególnie przydatne w przypadku korzystania z modułów obsługi przed zatwierdzeniem, ponieważ podczas tego procesu bieżący adres URL nie został jeszcze przełączony na adres docelowy.
navigation.transition jest udostępniana tylko w przypadku przechwyconych nawigacji, czyli nawigacji zainicjowanych przez dokument z tej samej domeny.
Błąd śledzenia nr 447171238 | Wpis na ChromeStatus.com | Specyfikacja
Potwierdzenie bezpiecznej płatności: klucze powiązane z przeglądarką
Dodaje to dodatkowy podpis kryptograficzny do potwierdzeń bezpiecznej płatności i tworzenia danych logowania. Odpowiedni klucz prywatny nie jest synchronizowany na różnych urządzeniach. Pomaga to spełnić wymagania dotyczące powiązania urządzenia z transakcjami płatniczymi.
Błąd śledzenia nr 377278827 | Wpis na ChromeStatus.com | Specyfikacja
Potwierdzenie bezpiecznej płatności: odświeżony interfejs
Aktualizuje elementy interfejsu użytkownika w oknie SPC w Chrome na Androidzie.
Oprócz prezentacji UX dodano:
- Sprzedawcy mogą podać opcjonalną listę logo podmiotów płatniczych powiązanych z płatnością, które są wyświetlane w interfejsie.
- W zależności od tego, czy użytkownik chce kontynuować transakcję bez SPC, czy ją anulować, sprzedawcy są zwracane różne stany wyjściowe. W obu przypadkach wysyłany jest tylko jeden stan wyjściowy.
- Do instrumentu płatniczego dodawane jest nowe pole etykiety szczegółów płatności, dzięki czemu tekst jest wyświetlany w SPC w 2 wierszach.
Błąd śledzenia nr 405173922 | Wpis na ChromeStatus.com | Specyfikacja
Atrybut Cookie Store API maxAge
Podczas ustawiania pliku cookie za pomocą metody Cookie Store API możesz określić wartość maxAge.
Czas wygaśnięcia plików cookie można już skonfigurować za pomocą atrybutu expires, ale atrybut maxAge zapewnia bardziej idiomatyczną opcję i dopasowuje atrybut Cookie Store API do opcji udostępnianych przez atrybuty document.cookie i Set-Cookie w nagłówku HTTP.
Błąd śledzenia nr 430926231 | Wpis na ChromeStatus.com | Specyfikacja
Typy InputEvent dla poleceń usuwania w przypadku niezwiniętych wyborów
Raportuje dokładne wartości inputType skrótów klawiszowych do usuwania zaznaczonego tekstu. Gdy polecenia usuwania, takie jak Ctrl+Backspace lub Ctrl+Delete, są używane z wybranym tekstem w elementach contenteditable, zdarzenia beforeinput i input zgłaszają deleteContentBackward lub deleteContentForward zamiast deleteWordBackward lub deleteWordForward. Dzięki temu możesz prawidłowo zrozumieć, jaka operacja edycji została wykonana, i wdrożyć niezawodne cofanie, ponawianie lub niestandardowe zachowania edycji.
Błąd śledzenia nr 41423062 | Wpis na ChromeStatus.com | Specyfikacja
Trwałe aktywowanie zdarzenia clipboardchange
Wymaga to aktywacji użytkownika lub uprawnień clipboard-readdo wywoływania zdarzeńclipboardchange, co zapobiega nieautoryzowanemu monitorowaniu schowka.
Zdarzenie clipboardchange jest stosunkowo nowe (Chrome 144), a zmiana ta ma minimalny wpływ na internet. W większości przypadków aktywacja trwałego użytkownika lub clipboard-read
uprawnienia są już obecne w miejscu, w którym występuje monitorowanie schowka (np. w klientach zdalnego pulpitu).
Błąd śledzenia nr 468821937 | Wpis na ChromeStatus.com | Specyfikacja
Multimedia
Wyodrębnianie rtpTimestamp z klatek wideo WebRTC za pomocą VideoFrame.metadata()
Dodaje metodę VideoFrame.metadata(), która zwraca słownik zawierający pole rtpTimestamp, jeśli podstawowy obiekt VideoFrame ma to pole w swoich metadanych natywnych. W przeciwnym razie zwracany jest pusty słownik. Tylko klatki wideo pochodzące ze źródeł WebRTC mają dołączone metadane rtpTimestamp.
Dodatkowe pola metadanych są już obecne w implementacji natywnej i z czasem mogą być udostępniane JavaScriptowi, zgodnie z proponowaną specyfikacją.
Wpis na ChromeStatus.com | Specyfikacja
Miejsce na dane
IndexedDB: backend SQLite (konteksty w pamięci)
Implementacja IndexedDB w Chromium została przepisana na bazie SQLite, aby zastąpić poprzednią implementację, która korzystała z hybrydy LevelDB i płaskich plików. Interfejs Web API nie ulegnie zmianie.
Zwiększa to niezawodność i w mniejszym stopniu wydajność.
Dotyczy to tylko kontekstów w pamięci, takich jak tryb incognito w Chromium i Google Chrome. Ogranicza to wpływ nowych błędów i odsuwa w czasie konieczność migracji istniejących danych zapisanych na dysku.
Błąd śledzenia nr 436880911 | Wpis na ChromeStatus.com | Specyfikacja
Wyniki
Umożliwianie aplikacjom internetowym rozpoznawania czasów dwumodalnej wydajności
Nowe pole confidence w obiekcie PerformanceNavigationTiming umożliwia określenie, czy czasy nawigacji są reprezentatywne dla Twojej aplikacji internetowej.
Błąd śledzenia nr 1413848 | Wpis na ChromeStatus.com | Specyfikacja
Dodawanie presentationTime i paintTime do wpisów dotyczących wyników
Udostępnia to wartości paintTime i presentationTime w czasie elementu, LCP, długich klatkach animacji i czasie renderowania.
paintTime oznacza czas, w którym zakończyła się faza renderowania, a przeglądarka rozpoczęła fazę rysowania. presentationTime oznacza czas, w którym „piksele dotarły na ekran”, co jest w pewnym stopniu zależne od implementacji.
W tym wpisie dotyczącym funkcji pominięto czas zdarzenia, który jest określany osobno.
Błąd śledzenia nr 378827535 | Wpis na ChromeStatus.com | Specyfikacja
Używanie jednostek CssPixels w interfejsie LayoutShift API
Ta funkcja zmienia dane atrybucji (prevRect i currentRect) w interfejsie LayoutShift API, tak aby były raportowane w pikselach CSS zamiast w pikselach fizycznych. Działanie jest niezgodne z innymi interfejsami API związanymi z układem, które używają pikseli CSS. Ta zmiana zwiększa spójność, upraszcza korzystanie z usługi i jest zgodna z oczekiwanymi jednostkami w debugowaniu i narzędziach.
Błąd śledzenia nr 399058544 | Wpis na ChromeStatus.com | Specyfikacja
Bezpieczeństwo
Dane uwierzytelniające sesji powiązanych z urządzeniem
Dane uwierzytelniające sesji powiązane z urządzeniem (DBSC) umożliwiają stronom wiązanie sesji użytkownika z jego konkretnym urządzeniem, co znacznie utrudnia używanie skradzionych plików cookie sesji na innych urządzeniach.
Wpis na ChromeStatus.com | Specyfikacja
Origin API
Pochodzenie to podstawowy element implementacji internetu, który ma kluczowe znaczenie dla bezpieczeństwa i prywatności użytkowników. Pojęcie to jest dobrze zdefiniowane w przypadku HTML i URL, a także w przypadku powszechnie używanych pojęć pokrewnych, takich jak witryna.
Pochodzenie nie jest jednak bezpośrednio widoczne. Chociaż w przypadku różnych obiektów istnieje wiele funkcji pobierania pochodzenia, każda z nich zwraca serializację ASCII pochodzenia, a nie samo pochodzenie. Ma to kilka negatywnych konsekwencji. W praktyce próby porównywania pochodzeń w ramach tej samej domeny lub tej samej witryny podczas obsługi serializowanych pochodzeń często prowadzą do błędów, które mogą powodować luki w zabezpieczeniach. Z filozoficznego punktu widzenia wydaje się, że brakuje podstawowego elementu zabezpieczeń, którego nie można dokładnie zastąpić.
W Chrome 145 rozwiązujemy ten problem na platformie, wprowadzając obiekt Origin, który zawiera koncepcję źródła i udostępnia przydatne metody, takie jak porównywanie, serializacja i parsowanie.
Błąd śledzenia nr 434131026 | Wpis na ChromeStatus.com | Specyfikacja
Podział uprawnień dostępu przez sieć lokalną
Jest to ulepszenie ograniczeń dostępu do sieci lokalnej (LNA), w ramach którego Chrome dzieli wymagane uprawnienia z jednego uprawnienia dostępu do sieci lokalnej na 2 osobne uprawnienia.
Stare uprawnienie to local-network-access. Nowe uprawnienia to
local-network (w przypadku żądań LNA dotyczących adresów IP w lokalnej przestrzeni adresowej) i
loopback-network (w przypadku żądań LNA dotyczących adresów IP w przestrzeni adresowej pętli zwrotnej).
Stare uprawnienie jest zachowywane jako alias i nadal działa w przypadku permissions.query i Permissions Policy. Zasady przedsiębiorstwa nadal działają tak samo. Nowsze, bardziej szczegółowe zasady przedsiębiorstwa zostaną dodane później.
Błąd śledzenia nr 465491626 | Wpis na ChromeStatus.com | Specyfikacja
Zgodność ze specyfikacją Zaufanych typów
Trusted Types zostało pierwotnie wdrożone i uruchomione w Chromium w 2019 roku i od tego czasu jest używane w wielu witrynach. Ostatnio wzbudził zainteresowanie innych dostawców przeglądarek.
Specyfikacja Trusted Types została współtworzona jako specyfikacja „monkey patch” wraz z oryginalną implementacją. Zyskuje on nowe znaczenie, ponieważ inne osoby próbują wdrożyć tę samą specyfikację. Został on „przekazany” do HTML i DOM (plus trochę CSP). W ramach tego procesu wykrywamy i usuwamy różne niespójności. Niektóre z tych poprawek mogą być widoczne dla deweloperów. Chcemy zaktualizować implementację, aby była zgodna ze specyfikacją, która jest przesyłana do HTML.
Zespół WebKit wprowadził implementację zaktualizowanej Trusted
Types specyfikacji, co daje Chrome pewność, że ta aktualizacja jest w dużym stopniu zgodna z siecią.
Błąd śledzenia nr 330516530 | Wpis na ChromeStatus.com | Specyfikacja
Grafika
WebGPU: subgroup_uniformity funkcja
Dodaje to nowy zakres do analizy jednolitości i zmienia części języka sprawdzane w każdym z nich, aby umożliwić uznanie funkcji podgrup za jednolite w większej liczbie przypadków.
Błąd śledzenia nr 454653380 | Wpis na ChromeStatus.com | Specyfikacja
Izolowane aplikacje internetowe
WebRequest.SecurityInfo w: Controlled Frame
Ta funkcja wprowadza interfejs WebRequest.SecurityInfo API dla elementu ControlledFrame. Umożliwia ona aplikacji internetowej przechwytywanie żądań HTTPS, WSS lub WebTransport wysyłanych do serwera, pobieranie odcisku palca certyfikatu serwera (zweryfikowanego przez przeglądarkę), a następnie używanie tego odcisku palca do ręcznego weryfikowania certyfikatu oddzielnego surowego połączenia TCP/UDP z tym samym serwerem. Dzięki temu aplikacja może potwierdzić, że komunikuje się z właściwym serwerem.
Błąd śledzenia nr 462114142 | Wpis na ChromeStatus.com | Specyfikacja
Wersje próbne origin
Obsługa dekodowania JPEG XL (image/jxl) w Blinku
Dodaje obsługę dekodowania obrazów JPEG XL (image/jxl) w Blink przy użyciu jxl-rs, bezpiecznego pod względem pamięci dekodera napisanego w czystym języku Rust.
JPEG XL to nowoczesny format obrazu znormalizowany jako ISO/IEC 18181, który zapewnia:
- Progresywne dekodowanie, które poprawia postrzeganą wydajność ładowania.
- Obsługa szerokiej gamy kolorów, HDR i wysokiej głębi bitowej.
- Obsługa animacji.
Ta implementacja używa jxl-rs zamiast dekodera referencyjnego libjxl w C++, aby spełnić wymagania Chromium dotyczące bezpieczeństwa pamięci. Dekoder jest dostępny za pomocą flagi enable-jxl-image-format i flagi kompilacji enable_jxl_decoder.
WebAudio: konfigurowalna kwant renderowania
Funkcje AudioContext i OfflineAudioContext przyjmują teraz opcjonalny parametr renderSizeHint, który umożliwia użytkownikom określenie rozmiaru kwantu renderowania, gdy przekazywana jest liczba całkowita, użycie domyślnej wartości 128 klatek, jeśli nie przekazano żadnej wartości lub przekazano wartość default, albo poproszenie przeglądarki o wybranie odpowiedniego rozmiaru kwantu renderowania, jeśli określono wartość hardware.
Testowanie funkcji | Wpis na ChromeStatus.com
Wycofane i usunięte elementy
Wycofanie obsługi przestarzałych wirtualnych kamer w systemie macOS
Chrome wycofuje obsługę przestarzałych wirtualnych kamer we wszystkich obsługiwanych wersjach macOS.
Błąd śledzenia nr 461717105 | Wpis na ChromeStatus.com
Usuwanie rozszerzenia BMP w celu osadzania plików JPEG lub PNG w BMP
Chrome usuwa rozszerzenie BMP w przypadku osadzania plików JPEG lub PNG w pliku BMP.
Błąd śledzenia nr 456842524 | Wpis na ChromeStatus.com | Specyfikacja