Chrome 134 beta

Opublikowano: 5 lutego 2025 r.

O ile nie zaznaczono inaczej, te zmiany dotyczą najnowszej wersji beta Chrome na Androida, ChromeOS, Linuksa, macOS i Windows. Więcej informacji o funkcjach wymienionych tutaj znajdziesz w podanych linkach lub na liście na stronie ChromeStatus.com. Od 5 lutego 2025 r. Chrome 134 jest w wersji beta. Najnowszą wersję możesz pobrać na komputerze na stronie Google.com lub na Androidzie w Sklepie Google Play.

CSS

Ta wersja zawiera 5 nowych funkcji CSS i interfejsu.

Właściwość CSS dynamic-range-limit

Umożliwia stronie ograniczenie maksymalnej jasności treści HDR.

Dostosowywalny <select> element

Dodaj możliwość dostosowywania elementów HTML <select>, włączając nowe działanie za pomocą wartości base-select właściwości appearance. Po włączeniu możesz dodawać szczegółowe treści, w tym obrazy, a także stylizować opcje.

Lekkie zamykanie okna dialogowego

Jedną z przydatnych funkcji interfejsu Popover API jest lekkie zamykanie. Ta funkcja zapewnia tę samą możliwość w przypadku elementu <dialog>. Nowy atrybut closedby kontroluje działanie:

  • <dialog closedby=none>: okna dialogowe nie są zamykane przez użytkownika.
  • <dialog closedby=closerequest>: naciśnięcie klawisza ESC (lub innego aktywatora zamykania) zamyka okno dialogowe.
  • <dialog closedby=any>: kliknięcie poza oknem dialogowym lub naciśnięcie klawisza ESC zamyka okno dialogowe. To samo co działanie popover=auto.

Dziedziczenie wyróżnienia CSS

Dzięki dziedziczeniu wyróżnienia CSS pseudoklasy wyróżnienia CSS, takie jak ::selection i ::highlight, dziedziczą swoje właściwości przez pseudoklasę wyróżnienia, a nie przez łańcuch elementów. Dzięki temu model dziedziczenia właściwości w wyróżnieniach jest bardziej intuicyjny.

Więcej informacji znajdziesz w poście na blogu Inheritance changes for CSS selection styling (Zmiany w dziedziczeniu stylów zaznaczenia CSS) autorstwa Stephena Chenneya z firmy Igalia.

Pseudoklasa :has-slotted

Pseudoklasa :has-slotted reprezentuje element slot z treścią, np. węzłem tekstowym lub elementem. Można jej używać do stylizowania elementów na podstawie tego, czy używają treści zastępczej slotu.

Interfejsy Web API

Funkcja raportowania atrybucji: usuwanie limitu raportów zbiorczych, gdy identyfikator kontekstu aktywatora nie jest pusty

Ta zmiana jest oparta na opiniach osób korzystających z interfejsu API i potrzebie 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 zbiorczych na rejestrację źródła, co jest ograniczające w przypadkach użycia, w których użytkownik może mieć dłuższą ścieżkę. Ta zmiana usuwa limit raportów zbiorczych, gdy identyfikator kontekstu aktywatora jest podawany w ramach rejestracji. Usunięcie tego limitu jest ograniczone tylko do sytuacji, gdy określony jest identyfikator kontekstu aktywatora, ponieważ w takim przypadku interfejs API stosuje wyższy odsetek raportów pustych, co pomaga chronić przed wyciekiem informacji między witrynami za pomocą liczby raportów.

Ponadto raporty zbiorcze będą nadal podlegać innym limitom, które ograniczają łączną ilość informacji, które można zmierzyć,np. budżet na wkład 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 wprowadzamy partycjonowanie dostępu do adresów 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 będą nadal dzielone na partycje tylko według źródła ramki. To działanie jest podobne do tego, które jest obecnie zaimplementowane w Firefoxie i Safari, i dostosowuje użycie adresów URL bloba do schematu partycjonowania używanego przez inne interfejsy API pamięci w ramach partycjonowania miejsca na dane. Ponadto Chrome będzie wymuszać noopener w przypadku nawigacji najwyższego poziomu inicjowanych przez renderowanie do adresów URL bloba, w których odpowiednia witryna jest w innej witrynie niż witryna najwyższego poziomu wykonująca nawigację. Dzięki temu Chrome działa podobnie jak Safari, a odpowiednie specyfikacje zostały zaktualizowane, aby odzwierciedlały te zmiany.

Tę zmianę można tymczasowo cofnąć, ustawiając zasadę PartitionedBlobURLUsage. Zasada zostanie wycofana, gdy wycofane zostaną inne zasady dla przedsiębiorstw związane z partycjonowaniem miejsca na dane.

Zasada dokumentu: expect-no-linked-resources

Punkt konfiguracji expect-no-linked-resources w zasadzie dokumentu pozwala dokumentowi zasugerować agentowi użytkownika, aby lepiej zoptymalizował sekwencję wczytywania, np. nie używał domyślnego spekulatywnego działania analizowania (znanego też jako skaner wstępnego wczytywania).

Agenci użytkownika wdrożyli spekulatywne analizowanie kodu HTML, aby spekulatywnie pobierać zasoby, które znajdują się w znacznikach HTML, co przyspiesza wczytywanie strony. W przypadku zdecydowanej większości stron w internecie, które mają zasoby zadeklarowane w znacznikach HTML, optymalizacja jest korzystna, a koszt określenia takich zasobów jest rozsądnym kompromisem. W tych przypadkach może jednak dojść do suboptymalnego kompromisu w zakresie wydajności w porównaniu z czasem poświęconym na analizowanie kodu HTML w celu 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 obciążeniem zasobów, które mogłyby wyraźnie kontrolować wstępne wczytywanie zasobów za pomocą innych dostępnych mechanizmów wstępnego wczytywania.

Zasada dokumentu expect-no-linked-resources sugeruje agentowi użytkownika, że może on zoptymalizować czas poświęcony na określanie takich zasobów podrzędnych.

Jawne zarządzanie zasobami (asynchroniczne i synchroniczne)

Te funkcje rozwiązują typowy problem w tworzeniu oprogramowania dotyczący czasu życia i zarządzania różnymi zasobami (np. pamięcią i wejściem/wyjściem). Ten wzorzec obejmuje zwykle 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 wstecznie zgodny, aby zapewnić wydajną metodę instrumentowania aplikacji i wyświetlania danych o czasie w panelu Wydajność w Narzędziach deweloperskich.

Wpisy czasu dodane za pomocą interfejsu API mogą mieć niestandardowy znacznik czasu, czas trwania i opcje prezentacji (ścieżka, pas i kolor).

OffscreenCanvas getContextAttributes

Dodaje interfejs getContextAttributes z CanvasRenderingContext2D do OffscreenCanvasRenderingContext2D.

Interfejs Private Aggregation API: limity wkładu na kontekst dla osób wywołujących Shared Storage

Umożliwia osobom wywołującym Shared Storage dostosowanie liczby wkładów na raport Private Aggregation.

Ta funkcja umożliwia osobom wywołującym Shared Storage skonfigurowanie limitów wkładu na kontekst za pomocą nowego pola maxContributions. Osoby wywołujące ustawiają to pole, aby zastąpić domyślną liczbę wkładów na raport – dozwolone będą zarówno większe, jak i mniejsze liczby. Chrome będzie akceptować wartości maxContributions od 1 do 1000 włącznie. Większe wartości będą interpretowane jako 1000.

Ze względu na dopełnienie rozmiar ładunku każdego raportu będzie w przybliżeniu proporcjonalny do wybranej liczby wkładów na raport. Spodziewamy się, że korzystanie z większych raportów zwiększy koszt obsługi usługi agregacji.

Ta funkcja nie będzie miała wpływu na osoby wywołujące Protected Audience. Planujemy jednak dodać w przyszłości obsługę dostosowywania liczby wkładów w raportach Protected Audience.

Obsługa ImageSmoothingQuality w PaintCanvas

Dodaj obsługę atrybutu imageSmoothingQuality w Paint Canvas. Umożliwia on deweloperowi stron internetowych wybranie kompromisu między jakością a wydajnością podczas skalowania obrazów. Dostępne są 3 prawidłowe opcje imageSmoothingQuality: low, medium i high.

Podgrupy WebGPU

Dodaje do WebGPU funkcję podgrup. Operacje podgrupowe wykonują operacje SIMT, aby zapewnić wydajną komunikację i udostępnianie danych między grupami wywołań. Te operacje można wykorzystać do przyspieszenia aplikacji przez zmniejszenie obciążenia pamięci spowodowanego komunikacją między wywołaniami.

Nowe wersje próbne origin

W Chrome 134 możesz wziąć udział w tych nowych wersjach próbnych origin.

Interfejs Digital Credential API

Witryny mogą obecnie uzyskiwać dane uwierzytelniające z aplikacji portfela mobilnego za pomocą różnych mechanizmów, np. niestandardowych obsługi adresów URL i skanowania 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 ją rozszerzyć, aby obsługiwała wiele formatów danych uwierzytelniających (np. ISO mDoc i weryfikowalne dane uwierzytelniające W3C) i umożliwiała korzystanie z wielu aplikacji portfela. Dodajemy mechanizmy, które pomagają zmniejszyć ryzyko nadużycia tożsamości w świecie rzeczywistym na poziomie ekosystemu.

Wersja próbna origin, która rozpoczyna się w Chrome 134, dodaje obsługę tego interfejsu API na platformie komputerowej, gdzie Chrome na komputerze będzie bezpiecznie komunikować się z portfelem cyfrowym na telefonie z Androidem, aby pobrać żądane dane uwierzytelniające.

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 1 funkcję.

Usuwanie niestandardowych ograniczeń audio getUserMedia

Blink obsługuje kilka niestandardowych ograniczeń z prefiksem goog dla getUserMedia od pewnego czasu, zanim ograniczenia zostały odpowiednio ustandaryzowane.

Użycie 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 Chromium. Wkrótce żadne z nich nie będą miały wpływu ze względu na inne nadchodzące zmiany.

Nie spodziewamy się żadnych poważnych regresji spowodowanych tą zmianą. 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ą one przejść na standardowe ograniczenia.