Data publikacji: 5 lutego 2025 r.
O ile nie zaznaczono inaczej, poniższe zmiany dotyczą najnowszej wersji Chrome w kanale beta na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o wymienionych tu funkcjach znajdziesz, klikając odpowiednie linki lub na stronie ChromeStatus.com. Od 5 lutego 2025 r. Chrome 134 jest w wersji beta. Najnowszą wersję możesz pobrać na stronie Google.com na komputerze lub w Sklepie Google Play na urządzeniu z Androidem.
CSS
Ta wersja zawiera 5 nowych funkcji CSS i interfejsu użytkownika.
Właściwość CSS dynamic-range-limit
Umożliwia stronie ograniczenie maksymalnej jasności treści HDR.
Element <select>
, który można dostosować
Dodaliśmy możliwość dostosowywania elementów HTML <select>
, włączając nowe działanie za pomocą wartości base-select
appearance
. Po włączeniu tej opcji możesz dodawać treści multimedialne, w tym obrazy, oraz stylizować opcje.
Zamknij okno
Jedną z ciekawych funkcji interfejsu Popover API jest możliwość szybkiego zamknięcia. Ta funkcja zapewnia te same możliwości w przypadku <dialog>
. Nowy atrybut closedby
kontroluje:
<dialog closedby=none>
: nie ma możliwości zamknięcia okna dialogowego przez użytkownika.<dialog closedby=closerequest>
: naciśnięcieESC
(lub innego powodującego zamknięcie) powoduje zamknięcie okna.<dialog closedby=any>
: kliknięcie poza oknem lub naciśnięcie ESC powoduje zamknięcie okna. Działania takie same jak w przypadkupopover=auto
.
Dziedziczenie wyróżnienia CSS
Dzięki dziedziczeniu wyróżnienia CSS pseudoklasy CSS, takie jak ::selection
i ::highlight
, dziedziczą swoje właściwości z łańcucha pseudowyróżnień, a nie łańcucha elementów. W efekcie otrzymujemy bardziej intuicyjny model dziedziczenia właściwości w podświetleniach.
Więcej informacji znajdziesz w poście na blogu Zmiany dotyczące dziedziczenia stylów selekcji CSS autorstwa Stephena Chenneya z Igalia.
:has-slotted
zajęcia pseudo
Pseudoklasa :has-slotted
reprezentuje element slotu z zawartością slotu, na przykład węzeł tekstowy lub element. Możesz go używać do stylizowania elementów na podstawie tego, czy korzystają one z treści zastępczych w boksie.
Interfejsy Web API
Funkcja raportowania atrybucji: usuwanie limitu raportu możliwego do agregacji, gdy identyfikator kontekstu reguły nie jest równy null
Ta zmiana jest podyktowana opiniami osób wywołujących interfejs API i koniecznością zmierzenia 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 możliwych do zsumowania na konto każdego źródła. Jest to ograniczenie w przypadkach, gdy użytkownik może mieć dłuższą ścieżkę. Ta zmiana usuwa limit raportów możliwych do agregacji, gdy w ramach rejestracji podano identyfikator kontekstu reguły. Usunięcie tego limitu jest możliwe tylko wtedy, gdy podano identyfikator kontekstu reguły, ponieważ w takim przypadku interfejs API stosuje większą częstotliwość raportów z wartością null, co pomaga chronić przed wyciekiem informacji z różnych witryn za pomocą liczby raportów.
Dodatkowo raporty podlegające agregacji będą nadal podlegać innym ograniczeniom, które ograniczają łączną ilość informacji, które można mierzyć,np. budżet udziału w kampanii L1 (65 536) na źródło i limit współczynnika atrybucji.
Dzielenie na partycje adresów URL obiektów blob: pobieranie/nawigacja
W dalszym ciągu implementuje partycjonowanie dostępu do adresu URL Bloba za pomocą klucza Storage Key (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 tylko według źródła ramki. Takie zachowanie jest podobne do tego, które jest obecnie stosowane przez przeglądarki Firefox i Safari, i jest zgodne z schematem partycjonowania używanym przez inne interfejsy API usług przechowywania danych w ramach partycjonowania usług przechowywania danych. Chrome będzie też narzucać parametr noopener w przypadku wywołanych przez tłumacza nawigacji na najwyższym poziomie do adresów URL bloba, gdy odpowiednia witryna jest witryną krzyżową w stosunku do witryny 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
. Te zasady zostaną wycofane, gdy wycofane zostaną inne zasady dotyczące przedsiębiorstwa związane z partycjonowaniem pamięci masowej.
Document-Policy: expect-no-linked-resources
Punkt konfiguracji expect-no-linked-resources
w zasadzie Document-Policy pozwala dokumentowi przekazać przeglądarce użytkownika wskazówkę, która pozwoli lepiej zoptymalizować sekwencję wczytywania, np. nieużywanie domyślnego spekulatywnego zachowania analizy (zwanego też skanerem preloadu).
W celu przyspieszenia wczytywania strony przeglądarki mają zaimplementowany spekulatywny parsing HTML, który spekulatywnie pobiera zasoby obecne w składni HTML. W przypadku większości stron internetowych, które mają zasoby zadeklarowane w znacznikach HTML, optymalizacja jest korzystna, a koszty związane z określeniem tych zasobów są rozsądnym kompromisem. Jednak w następujących sytuacjach może wystąpić nieoptymalna wydajność w porównaniu z czasem poświęconym na parsowanie kodu HTML na potrzeby określenia zasobów podrzędnych do pobrania:
- strony, które nie mają żadnych zasobów zadeklarowanych w kodzie HTML;
- Duże strony HTML z minimalnym lub zerowym wczytywaniem zasobów, które mogą wyraźnie kontrolować wstępne wczytywanie zasobów za pomocą innych dostępnych mechanizmów wstępnego wczytywania.
Dokument expect-no-linked-resources
Document-Policy zawiera wskazówki dla agenta użytkownika, aby zoptymalizować czas poświęcony na określanie takich zasobów podrzędnych.
Wyraźne zarządzanie zasobami (asyncjoniczne i synchroniczne)
Te funkcje dotyczą typowego w rozwoju oprogramowania wzorca dotyczącego czasu życia i zarządzania różnymi zasobami (np. pamięci i wejścia/wyjścia). Ten wzór obejmuje zwykle przydzielanie zasobu i możliwość jawnego zwalniania krytycznych zasobów.
Rozszerzenie interfejsu API console.timeStamp
o obsługę pomiarów i opcji prezentacji
Ta funkcja rozszerza interfejs API console.timeStamp()
w sposób zapewniający wsteczną zgodność, aby udostępnić wydajną metodę instrumentowania aplikacji i wyświetlania danych o czasie w panelu Wydajność w Narzędziach deweloperskich.
Elementy danych dotyczącego czasu dodawane za pomocą interfejsu API mogą mieć niestandardowy znacznik czasu, czas trwania i opcje wyświetlania (ścieżka, pas ruchu i kolor).
OffscreenCanvas
getContextAttributes
Dodaje interfejs getContextAttributes
z CanvasRenderingContext2D
do OffscreenCanvasRenderingContext2D
.
Interfejs Private Aggregation API: limity udziału na kontekst dla wywołujących Shared Storage
Umożliwia wywołującym pamięć współdzieloną dostosowywanie liczby wkładów na raport prywatny.
Ta funkcja umożliwia wywołującym Shared Storage konfigurowanie limitów udziału w zależności od kontekstu za pomocą nowego pola maxContributions
. Wywołujący ustawiają to pole, aby zastąpić domyślną liczbę udziałów na raport – dozwolone są zarówno większe, jak i mniejsze wartości. Chrome akceptuje wartości maxContributions
w zakresie od 1 do 1000 włącznie; większe wartości są interpretowane jako 1000.
Ze względu na wypełnienie rozmiar ładunku każdego raportu będzie mniej więcej proporcjonalny do wybranej liczby źródeł na raport. Spodziewamy się, że udostępnienie większych raportów zwiększy koszty obsługi usługi agregacji.
Ta funkcja nie ma wpływu na wywołania z poziomu Protected Audience. W przyszłości planujemy jednak dodać obsługę dostosowywania liczby źródeł danych w raportach dotyczących chronionych odbiorców.
Pomoc: ImageSmoothingQuality
w PaintCanvas
Dodaliśmy obsługę atrybutu imageSmoothingQuality
w Paint Canvas. Umożliwia deweloperowi stron internetowych wybranie jakości zamiast wydajności podczas skalowania obrazów.
W przypadku atrybutu imageSmoothingQuality
dostępnych jest 3 opcji: low
, medium
i high
.
Podgrupy WebGPU
Dodaje funkcję podgrup do WebGPU. Operacje podgrupy wykonują operacje SIMT, aby zapewnić skuteczną komunikację i udostępnianie danych między grupami wywołań. Te operacje mogą służyć do przyspieszania aplikacji przez zmniejszenie obciążenia pamięci spowodowanego przez komunikację między wywołaniami.
Nowe wersje próbne origin
W Chrome 134 możesz wziąć udział w tych nowych testach wersji.
Digital Credential API
Witryny mogą uzyskiwać dane logowania z aplikacji mobilnych portfeli za pomocą różnych mechanizmów, takich jak niestandardowe moduły obsługi adresów URL czy skanowanie kodów QR. Ta funkcja umożliwia witrynom żądanie informacji o tożsamości z portfeli za pomocą systemu IdentityCredential
CredMan
na Androidzie. Można go rozszerzyć, aby obsługiwał wiele formatów danych logowania (np. ISO mDoc i weryfikowalne dane logowania W3C) oraz umożliwiał używanie wielu aplikacji Portfela. Dodawane są mechanizmy, które mają na celu zmniejszenie ryzyka nadużyć w skali całego ekosystemu w przypadku tożsamości w świecie rzeczywistym.
Wersja próbna dla dostawców usług, która zaczyna się od Chrome 134, dodaje obsługę tego interfejsu API na platformie komputerowej. Chrome na komputerze będzie bezpiecznie komunikować się z cyfrowym portfelem na telefonie z Androidem, aby pobrać żądane dane logowania.
Wycofanie i usunięcie
W tej wersji Chrome wprowadzamy wycofanie i usunięcie funkcji wymienionych poniżej. Na stronie ChromeStatus.com znajdziesz listy planowanych i obecnych wycofań oraz wcześniejszych usunięciach.
W tej wersji Chrome usunięto jedną funkcję.
Usuwanie niestandardowych ograniczeń getUserMedia dotyczących dźwięku
Blink obsługuje wiele niestandardowych ograniczeń z prefiksem goog
dla getUserMedia
od czasu, gdy ograniczenia zostały właściwie ujednoliczone.
Korzystanie z nich znacznie spadło do 0,000001%–0,0009% (w zależności od ograniczenia), a niektóre z nich nie mają żadnego wpływu z powodu zmian w zestawie do przechwytywania dźwięku w Chromium. Wkrótce żadna z nich nie będzie miała znaczenia ze względu na inne nadchodzące zmiany.
Nie spodziewamy się żadnych poważnych regresji po tej zmianie. Aplikacje korzystające z tych ograniczeń będą nadal działać, ale będą odtwarzać dźwięk z ustawieniami domyślnymi (jakby nie było żadnych ograniczeń). Mogą one przejść na standardowe ograniczenia.