Data publikacji: 5 lutego 2025 r.
O ile nie zaznaczono inaczej, poniższe zmiany dotyczą najnowszej wersji beta Chrome na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o funkcjach wymienionych poniżej znajdziesz w linkach lub na liście na stronie ChromeStatus.com. Chrome 134 jest w wersji beta od 5 lutego 2025 r. Najnowsze informacje znajdziesz na Google.com (na komputerze) lub w Sklepie Google Play (na Androidzie).
CSS
Ta wersja zawiera 5 nowych funkcji CSS i interfejsu.
Właściwość dynamic-range-limit CSS
Umożliwia stronie ograniczenie maksymalnej jasności treści HDR.
Element <select> z możliwością dostosowania
Dodaliśmy możliwość dostosowywania elementów HTML <select>. Aby włączyć nowe działanie, ustaw wartość base-select na appearance. Po włączeniu tej funkcji możesz dodawać treści multimedialne, w tym obrazy, a także stylizować opcje.
Zamknięcie okna dialogowego
Jedną z zalet interfejsu Popover API jest jego funkcja lekkiego zamykania. Ta funkcja zapewnia te same możliwości w przypadku <dialog>. Nowy atrybut closedby kontroluje zachowanie:
<dialog closedby=none>: użytkownik nie może zamknąć okien.<dialog closedby=closerequest>: naciśnięcieESC(lub innego wyzwalacza zamknięcia) zamyka okno.<dialog closedby=any>: kliknięcie poza oknem lub naciśnięcie klawisza ESC zamyka okno. Tak samo jak w przypadkupopover=auto.
Dziedziczenie wyróżnienia CSS
W przypadku dziedziczenia wyróżnienia CSS pseudoklasy wyróżnienia CSS, takie jak ::selection i ::highlight, dziedziczą swoje właściwości przez łańcuch pseudowyróżnień, a nie przez łańcuch elementów. Dzięki temu model dziedziczenia właściwości w najważniejszych informacjach jest bardziej intuicyjny.
Więcej informacji znajdziesz w poście na blogu Inheritance changes for CSS selection styling (Zmiany dziedziczenia w stylizacji selekcji CSS) autorstwa Stephena Chenneya z firmy Igalia.
:has-slotted pseudoklasa
Klasa pseudo :has-slotted reprezentuje element gniazda z zawartością umieszczoną w gnieździe, taką jak węzeł tekstowy lub element. Możesz go używać do określania stylu elementów w zależności od tego, czy używają one treści zastępczych boksu.
Interfejsy Web API
Funkcja raportowania atrybucji: usuwanie limitu raportów z możliwością agregacji, gdy identyfikator kontekstu wywołania nie ma wartości null
Ta zmiana jest odpowiedzią na opinie osób korzystających z interfejsu API i wynika z potrzeby pomiaru większej liczby zdarzeń konwersji w przypadku niektórych ścieżek użytkownika.
Obecnie interfejs API ma limit, który pozwala na wygenerowanie maksymalnie 20 raportów z możliwością agregacji na rejestrację źródła. Jest to ograniczenie w przypadku zastosowań, w których użytkownik może mieć dłuższą ścieżkę. Ta zmiana usuwa limit raportów z możliwością agregacji, gdy identyfikator kontekstu wywołania jest podany w ramach rejestracji. Usunięcie tego limitu jest ograniczone tylko do sytuacji, w których określony jest identyfikator kontekstu wywołania, ponieważ w takim przypadku interfejs API stosuje wyższy odsetek raportów o wartości null, co pomaga chronić przed wyciekiem informacji z różnych witryn za pomocą liczby raportów.
Dodatkowo raporty zbiorcze będą nadal podlegać innym limitom, które ograniczają łączną ilość informacji, jakie można zmierzyć,np. budżet na udział L1 (65 536) na źródło i limit współczynnika atrybucji.
Podział adresów URL bloba: pobieranie/nawigacja
W ramach kontynuacji partycjonowania miejsca na dane implementuje partycjonowanie dostępu do adresu URL bloba według klucza pamięci (witryna najwyższego poziomu, źródło ramki i wartość logiczna has-cross-site-ancestor), z wyjątkiem nawigacji najwyższego poziomu, które pozostaną podzielone na partycje tylko według źródła ramki. Działanie to jest podobne do tego, które jest obecnie zaimplementowane w przeglądarkach Firefox i Safari, i dostosowuje użycie adresów URL obiektów blob do schematu partycjonowania używanego przez inne interfejsy API pamięci masowej w ramach partycjonowania pamięci masowej. Dodatkowo Chrome będzie wymuszać noopener w przypadku nawigacji najwyższego poziomu do adresów URL bloba zainicjowanej przez proces renderowania, gdy odpowiednia witryna jest w innej witrynie niż witryna najwyższego poziomu, która wykonuje nawigację. Dzięki temu Chrome będzie działać podobnie jak Safari, a odpowiednie specyfikacje zostały zaktualizowane, aby odzwierciedlać te zmiany.
Tę zmianę można tymczasowo cofnąć, ustawiając zasadę PartitionedBlobURLUsage. Zasada zostanie wycofana, gdy wycofane zostaną inne zasady przedsiębiorstwa związane z podziałem pamięci.
Document-Policy: expect-no-linked-resources
Punkt konfiguracji expect-no-linked-resources w Document-Policy umożliwia dokumentowi przekazanie do agenta użytkownika wskazówki, która pozwoli lepiej zoptymalizować sekwencję ładowania, np. nie używać domyślnego spekulacyjnego analizowania (znanego też jako skaner wstępnego ładowania).
Agenci użytkownika wdrożyli spekulatywne parsowanie kodu HTML, aby spekulatywnie pobierać zasoby znajdujące się w znacznikach HTML i przyspieszać wczytywanie strony. W przypadku zdecydowanej większości stron w internecie, na których zasoby są zadeklarowane w kodzie HTML, optymalizacja jest korzystna, a koszt poniesiony na określenie takich zasobów jest rozsądnym kompromisem. W tych przypadkach może jednak dojść do pogorszenia wydajności w porównaniu z czasem potrzebnym na przeanalizowanie kodu HTML w celu określenia zasobów podrzędnych do pobrania:
- Strony, które nie mają żadnych zasobów zadeklarowanych w HTML.
- Duże strony HTML z minimalnym lub zerowym obciążeniem zasobów, które mogą jawnie kontrolować wstępne wczytywanie zasobów za pomocą innych dostępnych mechanizmów wstępnego wczytywania.
expect-no-linked-resources Zasady dokumentu sugerują agentowi użytkownika, że może on zoptymalizować czas spędzony na określeniu takiego zasobu podrzędnego.
Jawne zarządzanie zasobami (asynchroniczne i synchroniczne)
Te funkcje dotyczą typowego wzorca w programowaniu, który odnosi się do czasu życia i zarządzania różnymi zasobami (np. pamięcią i wejściem/wyjściem). Ten wzorzec zwykle obejmuje przydzielanie zasobów i możliwość wyraźnego zwalniania zasobów krytycznych.
Rozszerzenie interfejsu console.timeStamp API o obsługę pomiarów i opcji prezentacji
Ta funkcja rozszerza interfejs console.timeStamp() API w sposób zapewniający zgodność wsteczną, aby udostępnić wydajną metodę instrumentowania aplikacji i wyświetlania danych o czasie na panelu Wydajność w Narzędziach deweloperskich.
Wpisy dotyczące czasu dodane za pomocą interfejsu API mogą mieć niestandardowy sygnaturę czasową, czas trwania i opcje prezentacji (ścieżka, pas i kolor).
OffscreenCanvas getContextAttributes
Dodaje interfejs getContextAttributes z CanvasRenderingContext2D do OffscreenCanvasRenderingContext2D.
Interfejs Private Aggregation API: limity udziału w poszczególnych kontekstach dla wywołujących interfejs Shared Storage API
Umożliwia podmiotom wywołującym interfejs Shared Storage dostosowywanie liczby wkładów w każdym raporcie Private Aggregation.
Ta funkcja umożliwia podmiotom wywołującym interfejs Shared Storage konfigurowanie limitów udziału w poszczególnych kontekstach za pomocą nowego pola maxContributions. Wywołujący ustawiają to pole, aby zastąpić domyślną liczbę porcji informacji w raporcie. Dopuszczalne są zarówno większe, jak i mniejsze liczby. Chrome akceptuje wartości z zakresu od 1 do 1000 włącznie. Większe wartości będą interpretowane jako 1000.maxContributions
Ze względu na dopełnienie rozmiar ładunku każdego raportu będzie w przybliżeniu proporcjonalny do wybranej liczby wpłat w raporcie. Spodziewamy się, że włączenie większych raportów zwiększy koszt działania usługi do agregacji.
Ta funkcja nie będzie miała wpływu na wywołujących interfejs Protected Audience API. Planujemy jednak w przyszłości dodać możliwość dostosowywania liczby wkładów w raportach Protected Audience.
Pomoc dotycząca ImageSmoothingQuality w PaintCanvas
Dodaliśmy obsługę atrybutu imageSmoothingQuality na płótnie. Umożliwia deweloperowi wybór kompromisu między jakością a wydajnością podczas skalowania obrazów.
Dla atrybutu imageSmoothingQuality są dostępne 3 prawidłowe opcje: low, medium i high.
Podgrupy WebGPU
Dodaje do WebGPU funkcję podgrup. Operacje podgrup wykonują operacje SIMT, aby zapewnić wydajną komunikację i udostępnianie danych między grupami wywołań. Te operacje mogą przyspieszyć działanie aplikacji, ponieważ zmniejszają narzut pamięci związany z komunikacją między wywołaniami.
Nowe wersje próbne origin
W Chrome 134 możesz wziąć udział w tych nowych eksperymentach z pochodzeniem.
Digital Credential API
Witryny mogą obecnie uzyskiwać dane logowania z aplikacji portfela mobilnego za pomocą różnych mechanizmów, np. niestandardowych programów obsługi adresów URL i skanowania kodów QR. Ta funkcja umożliwia witrynom wysyłanie do portfeli żądań informacji o tożsamości za pomocą systemu IdentityCredential CredMan na Androidzie. Można go rozszerzyć, aby obsługiwał wiele formatów dokumentów (np. ISO mDoc i weryfikowalne dokumenty W3C) i umożliwiał korzystanie z wielu aplikacji portfela. Dodajemy mechanizmy, które pomogą zmniejszyć ryzyko nadużywania tożsamości w świecie rzeczywistym na poziomie ekosystemu.
Eksperymentalne testy, które rozpoczynają się w Chrome 134, dodają obsługę tego interfejsu API na platformie komputerowej, gdzie Chrome na komputerze będzie bezpiecznie komunikować się z cyfrowym portfelem na telefonie z Androidem, aby pobierać żądane dane logowania.
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 usuwa jedną funkcję.
Usuwanie niestandardowych ograniczeń audio getUserMedia
Blink obsługuje wiele niestandardowych ograniczeń z prefiksem goog dla getUserMedia, które zostały wprowadzone jakiś czas przed prawidłową standaryzacją ograniczeń.
Wykorzystanie znacznie spadło do poziomu od 0,000001% do 0,0009% (w zależności od ograniczenia), a niektóre z nich nie mają nawet wpływu ze względu na zmiany w stosie przechwytywania dźwięku w Chromium. Wkrótce żadna z nich nie będzie miała wpływu ze względu na inne nadchodzące zmiany.
Nie spodziewamy się żadnych poważnych regresji z powodu tej zmiany. Aplikacje korzystające z tych ograniczeń będą nadal działać, ale będą otrzymywać dźwięk z ustawieniami domyślnymi (tak jakby nie przekazywano żadnych ograniczeń). Mogą przejść na standardowe ograniczenia.