Data wprowadzenia wersji stabilnej: 24 czerwca 2025 r.
O ile nie zaznaczono inaczej, poniższe zmiany dotyczą wersji stabilnej Chrome 138 na Androida, ChromeOS, Linuksa, macOS i Windowsa.
CSS i interfejs
Funkcje związane ze znakiem CSS: abs()
, sign()
Funkcje związane ze znakiem abs()
i sign()
obliczają różne funkcje związane ze znakiem argumentu.
Funkcja abs(A)
zawiera jedno obliczenie A i zwraca wartość bezwzględną A w tym samym typie co dane wejściowe: jeśli wartość liczbowa A jest dodatnia lub wynosi 0⁺, zwraca A; w przeciwnym razie zwraca -1 * A.
Funkcja sign(A)
zawiera jedno obliczenie A i zwraca -1, jeśli wartość liczbowa A jest ujemna, +1, jeśli wartość liczbowa A jest dodatnia, 0⁺, jeśli wartość liczbowa A wynosi 0⁺, oraz 0⁻, jeśli wartość liczbowa A wynosi 0⁻. Typ zwracany to <number>
, który jest zgodny z typem obliczenia wejściowego.
Dokumentacja MDN:abs() | Błąd śledzenia nr 40253181 | Wpis na ChromeStatus.com | Specyfikacja
Notacja funkcyjna postępu interpolacji: funkcja CSS progress()
Notacja funkcyjna progress()
zwraca wartość <number>
reprezentującą pozycję jednego obliczenia (wartość postępu) między dwoma innymi obliczeniami (wartość początkową i końcową postępu). Funkcja progress()
jest funkcją matematyczną.
Błąd śledzenia nr 40944203 | Wpis na ChromeStatus.com | Specyfikacja
CSS sibling-index()
i sibling-count()
Funkcje sibling-index()
i sibling-count()
mogą być używane jako liczby całkowite w wartościach właściwości CSS, aby określać styl elementów na podstawie ich pozycji wśród elementów równorzędnych lub łącznej liczby elementów równorzędnych. Tych funkcji można używać bezpośrednio jako wartości całkowitych, ale ciekawiej jest używać ich w calc()
wyrażeniach.
Błąd śledzenia nr 40282719 | Wpis na ChromeStatus.com | Specyfikacja
Słowo kluczowe rozmiaru CSS stretch
Słowo kluczowe dla właściwości rozmiaru CSS (np. width
i height
), które umożliwia elementom rozszerzanie się tak, aby dokładnie wypełniały dostępną przestrzeń w bloku zawierającym. Jest podobna do wartości „100%”, z tym że wynikowy rozmiar jest stosowany do pola marginesu elementu, a nie do pola wskazanego przez box-sizing
. Użycie tego słowa kluczowego pozwala elementowi zachować marginesy, a jednocześnie być tak dużym, jak to możliwe. Wersja bez prefiksu -webkit-fill-available
.
Błąd śledzenia nr 41253915 | Wpis na ChromeStatus.com | Specyfikacja
Zmienna środowiskowa CSS dla skali czcionki na poziomie systemu operacyjnego
Udostępnia preferowaną skalę czcionki użytkownika w CSS. Bez tego strona nie może wykryć, czy użytkownik zmienił preferowany rozmiar czcionki w ustawieniach systemu operacyjnego. Ta zmienna środowiskowa CSS będzie odzwierciedlać skalę wybraną przez użytkownika.
Błąd śledzenia nr 397737223 | Wpis na ChromeStatus.com | Specyfikacja
Urządzenia
Web Serial przez Bluetooth na Androidzie
Ta funkcja umożliwia stronom internetowym i aplikacjom internetowym łączenie się z portami szeregowymi przez Bluetooth na urządzeniach z Androidem.
Chrome na Androidzie obsługuje teraz interfejs Web Serial API przez Bluetooth RFCOMM. Obecne zasady dla przedsiębiorstw (DefaultSerialGuardSetting
, SerialAllowAllPortsForUrls
, SerialAllowUsbDevicesForUrls
, SerialAskForUrls
i SerialBlockedForUrls
) na innych platformach są włączone w przypadku Androida w stanach future_on. Po włączeniu tej funkcji wszystkie zasady z wyjątkiem SerialAllowUsbDevicesForUrls
zostaną włączone.
SerialAllowUsbDevicesForUrls
zostanie włączona w przyszłości po tym, jak Android zapewni obsługę portów szeregowych na poziomie systemu.
Błąd śledzenia nr 375245353 | Wpis na ChromeStatus.com | Specyfikacja
Viewport Segments Enumeration API
Interfejs Viewport Segments API umożliwia programistom dostosowywanie układu stron internetowych pod kątem urządzeń składanych. Segmenty widocznego obszaru określają położenie i wymiary logicznie oddzielonego regionu widocznego obszaru. Segmenty obszaru wyświetlania są tworzone, gdy obszar wyświetlania jest dzielony przez co najmniej 1 element sprzętowy (np. zagięcie lub zawias między oddzielnymi wyświetlaczami), który działa jako separator. Segmenty to obszary obszaru wyświetlania, które deweloper może traktować jako logicznie odrębne.
Błąd śledzenia nr 1039050 | Wpis na ChromeStatus.com | Specyfikacja
JavaScript
Zaktualizuj QuotaExceededError
do interfejsu pochodnego DOMException
Wcześniej, gdy platforma internetowa chciała Cię poinformować o przekroczeniu limitu, używała zdarzenia DOMException
z właściwością name
ustawioną na wartość QuotaExceededError
. Nie pozwala to jednak na przekazywanie dodatkowych informacji.
Proponuje to usunięcie „QuotaExceededError” z listy wbudowanych nazw DOMException
i zamiast tego utworzenie nazwy klasy QuotaExceededError
z listy wbudowanych nazw DOMException
oraz dodanie opcjonalnych właściwości quota
i requested
. Proponujemy, aby wszystkie specyfikacje, które zgłaszają błąd „QuotaExceededError”DOMException
, były uaktualniane tak, aby zgłaszały błądQuotaExceededError
. Obecnie takie specyfikacje pozostawiają właściwości quota
i requested
na domyślnej wartości null
, ale w przyszłości mogą zostać rozszerzone o te dane, jeśli będą przydatne w danym przypadku (i nie będą np. naruszać prywatności).
Wpis na ChromeStatus.com | Specyfikacja
Interfejsy Web API
Translator API
Interfejs JavaScript API, który udostępnia funkcje tłumaczenia językowego na stronach internetowych.
Przeglądarki coraz częściej oferują użytkownikom tłumaczenie języka. Takie możliwości tłumaczenia mogą być przydatne również dla deweloperów stron internetowych. Jest to szczególnie ważne, gdy wbudowane funkcje tłumaczenia przeglądarki nie są wystarczające.
Dostępna jest zasada przedsiębiorstwa (GenAILocalFoundationalModelSettings
), która umożliwia wyłączenie pobierania modelu bazowego, co spowoduje niedostępność tego interfejsu API.
MDN Docs | Błąd śledzenia nr 322229993 | Wpis na ChromeStatus.com | Specyfikacja
Language Detector API
Interfejs JavaScript API do wykrywania języka tekstu z poziomami ufności.
Ważnym uzupełnieniem tłumaczenia jest wykrywanie języka. Można to połączyć z tłumaczeniem, np. przyjmować dane wejściowe od użytkownika w nieznanym języku i tłumaczyć je na określony język docelowy. Przeglądarki często mają już funkcje wykrywania języka, a my chcemy udostępnić je deweloperom stron internetowych za pomocą interfejsu JavaScript API, który będzie uzupełniać interfejs Translation API. Dostępna jest zasada dla przedsiębiorstw (GenAILocalFoundationalModelSettings
), która umożliwia wyłączenie pobierania modelu bazowego, co spowoduje niedostępność tego interfejsu API.
MDN Docs | Wpis na ChromeStatus.com | Specyfikacja
Summarizer API
Summarizer API to interfejs JavaScript API służący do generowania podsumowań tekstu wejściowego na podstawie modelu językowego AI. Przeglądarki i systemy operacyjne coraz częściej
mają uzyskiwać dostęp do modelu językowego. Udostępniając ten wbudowany model, unikamy sytuacji, w której każda witryna musi pobierać własny model językowy o rozmiarze wielu gigabajtów lub wysyłać tekst wejściowy do interfejsów API innych firm. Interfejs API do podsumowywania udostępnia interfejs API wysokiego poziomu do komunikacji z modelem językowym w celu podsumowywania danych wejściowych w różnych przypadkach użycia (GitHub) w sposób niezależny od konkretnego modelu językowego. Dostępne są zasady firmyGenAILocalFoundationalModelSettings
, które umożliwiają wyłączenie pobierania modelu bazowego, co spowoduje niedostępność tego interfejsu API.
MDN Docs | Błąd śledzenia nr 351744634 | Wpis na ChromeStatus.com | Specyfikacja
Znak ucieczki <
i >
w atrybutach podczas serializacji
Podczas serializacji wartości atrybutów należy stosować znaki ucieczki dla znaków <
i >
.
Zmniejsza to ryzyko ataków XSS polegających na mutacji, które występują, gdy wartość atrybutu jest interpretowana jako token tagu otwierającego po serializacji i ponownym przeanalizowaniu.
Wpis na ChromeStatus.com | Specyfikacja
Crash Reporting API: is_top_level
i visibility_state
Ta funkcja dodaje do treści interfejsu API do raportowania o awariach pola tekstowe is_top_level
i visibility_state
, które są wysyłane do domyślnego punktu końcowego raportowania w przypadku raportów o awariach.
Wpis na ChromeStatus.com | Specyfikacja
Uruchamianie zdarzenia pushsubscriptionchange
po ponownej subskrypcji
W usługach Service Worker wywołuj zdarzenie pushsubscriptionchange
, gdy w przypadku pochodzenia, dla którego w przeszłości istniała subskrypcja push, ale została ona cofnięta z powodu zmiany uprawnień (z przyznanych na odrzucone lub domyślne), ponownie przyznano uprawnienia do wysyłania powiadomień.
Wydarzenie zostanie wywołane z pustymi polami oldSubscription i newSubscription.
Błąd śledzenia nr 407523313 | Wpis na ChromeStatus.com | Specyfikacja
Multimedia
Dodanie do WebCodecs obsługi metadanych orientacji klatki wideo
Wprowadza wartości rotation: int
i flip: bool
do różnych interfejsów związanych z wideo w WebCodecs, aby deweloperzy mogli pracować ze źródłami klatek, które mają orientację (np. kamery na Androidzie, niektóre media).
Interfejs VideoFrame
zwiększa możliwość tworzenia VideoFrames
z dowolnym obrotem i odbiciem lustrzanym, a także udostępnia dostęp do tych informacji w obiekcie VideoFrame.
Obiekt VideoDecoderConfig
zyskuje pola obrotu i odwrócenia, które są automatycznie emitowane w dekodowanych obiektach VideoFrame.
Klasa VideoEncoder
zyskuje mechanizmy przekazywania informacji o obrocie i odbiciu z encode()
do sygnału VideoDecoderConfig
emitowanego w ramach EncodedVideoChunkMetadata
. Jeśli funkcja encode()
zostanie wywołana w przypadku klatek o różnych orientacjach, zostanie zgłoszony wyjątek niekrytyczny. configure()
można użyć do zresetowania dozwolonej orientacji.
Błąd śledzenia nr 40243431 | Wpis na ChromeStatus.com | Specyfikacja
Wyniki
Dodaje prefetchCache
i prerenderCache
do nagłówka Clear-Site-Data
2 nowe wartości nagłówka Clear-Site-Data
, które pomagają deweloperom kierować reklamy na wyczyszczenie pamięci podręcznej wstępnego renderowania i wstępnego pobierania: "prefetchCache"
i "prerenderCache"
.
Błąd śledzenia nr 398149359 | Wpis na ChromeStatus.com | Specyfikacja
Reguły spekulacyjne: pole target_hint
Rozszerza składnię reguł spekulacyjnych, aby umożliwić programistom określanie pola target_hint.
To pole zawiera wskazówkę dotyczącą docelowego obiektu, w którym można nawigować, a w którym ostatecznie zostanie aktywowana wstępnie wyrenderowana strona. Na przykład, gdy _blank jest określony jako wskazówka, wstępnie wyrenderowana strona może zostać aktywowana w przypadku strony otwartej przez window.open(). To pole nie ma wpływu na wstępne pobieranie.
Specyfikacja dopuszcza w tym polu dowolne ciągi znaków, które są prawidłowe jako nazwa lokalizacji docelowej lub słowo kluczowe, ale ta wersja obsługuje tylko ciągi znaków "_self"
lub "_blank"
. Jeśli wskazówka nie zostanie podana, będzie traktowana tak, jakby podano wartość "_self"
.
Błąd śledzenia nr 40234240 | Wpis na ChromeStatus.com | Specyfikacja
Bezpieczeństwo
Zasady dotyczące integralności skryptów
Mechanizm sprawdzania integralności zasobów (SRI) umożliwia deweloperom upewnienie się, że wczytywane zasoby są rzeczywiście tymi, które chcą wczytać. Obecnie nie ma jednak sposobu, aby mieć pewność, że wszystkie skrypty dewelopera są weryfikowane za pomocą SRI.
Nagłówek Integrity-Policy
umożliwia deweloperom potwierdzenie, że każdy zasób danego typu musi być sprawdzony pod kątem integralności. Jeśli zasób tego typu będzie próbowany wczytać bez metadanych dotyczących integralności, próba ta zakończy się niepowodzeniem i wygeneruje raport o naruszeniu.
Wpis na ChromeStatus.com | Specyfikacja
Skrypt service worker
Obsługa funkcji ServiceWorker w przypadku pobierania z wyprzedzeniem przez funkcję Speculation Rules
Ta funkcja umożliwia pobieranie z wyprzedzeniem kontrolowane przez funkcję ServiceWorker, czyli pobieranie z wyprzedzeniem w ramach reguł spekulacyjnych stron z adresów URL kontrolowanych przez funkcję ServiceWorker. Wcześniej pobieranie z wyprzedzeniem było anulowane po wykryciu skryptu service worker, który steruje stroną. W związku z tym kolejne przejście do miejsca docelowego pobierania z wyprzedzeniem było obsługiwane przez ścieżkę bez pobierania z wyprzedzeniem. Ta funkcja umożliwi przejście żądania wstępnego pobierania przez moduł obsługi pobierania skryptu service worker, a odpowiedź z przechwyceniem skryptu service worker zostanie zapisana w pamięci podręcznej wstępnego pobierania. W rezultacie kolejne nawigacje będą obsługiwane przez tę pamięć. Aby kontrolować tę funkcję, użyj zasady firmowej
PrefetchWithServiceWorkerEnabled
.
Błąd śledzenia nr 40947546 | Wpis na ChromeStatus.com | Specyfikacja
Wycofania i usunięcia
WebGPU: wycofanie atrybutu GPUAdapter
isFallbackAdapter
Wycofuje atrybut logiczny GPUAdapter
isFallbackAdapter
z WebGPU, który jest zbędny w porównaniu z atrybutem logicznym GPUAdapterInfo
isFallbackAdapter
.
Nadchodzące usunięcie jest niewielką zmianą powodującą niezgodność, ponieważ w żadnej przeglądarce nie zaimplementowano jeszcze obsługi adapterów rezerwowych, co powoduje, że atrybuty isFallbackAdapter
zawsze zwracają wartość fałszywą.
Błąd śledzenia nr 409259074 | Wpis na ChromeStatus.com | Specyfikacja
Wycofanie asynchronicznego usuwania zakresu w przypadku rozszerzeń Media Source Extensions
Standard Media Source już dawno został zmieniony, aby uniemożliwić niejednoznacznie zdefiniowane zachowanie związane z asynchronicznym usuwaniem zakresu:
SourceBuffer.abort()
nie przerywa już operacjiSourceBuffer.remove()
.- Ustawienie
MediaSource.duration
nie może już obcinać aktualnie buforowanych multimediów.
W obu tych przypadkach będą teraz zgłaszane wyjątki.
Przeglądarki Safari i Firefox od dawna obsługują to zachowanie, a Chromium to ostatnia przeglądarka, która nadal działa w stary sposób. Z liczników wynika, że około 0,001–0,005% wczytań strony korzysta z wycofanego działania. Jeśli witryna napotka ten problem, odtwarzanie może zostać przerwane.
Liczba przypadków anulowania usuwania za pomocą abort()
rośnie, dlatego warto rozwiązać ten problem, zanim pojawi się więcej niezgodnych zastosowań.
Śledzenie błędu nr 40474569 | Wpis na ChromeStatus.com | Specyfikacja