Chrome 131 w wersji beta

Data publikacji: 16 października 2024 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 liście na stronie ChromeStatus.com. Od 16 października 2024 r. Chrome 131 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

W tej wersji dodaliśmy 8 nowych funkcji CSS.

Umiejscowienie kotwicy CSS: anchor-scope

Właściwość anchor-scope umożliwia ograniczenie widoczności nazw kotwic do danego poddrzewa.

​CSS font-variant-emoji

Właściwość CSS font-variant-emoji umożliwia sterowanie kolorowymi (w stylu emotikonów) i monochromatycznymi (w stylu tekstu) glifami emotikonów. Można to też zrobić, dodając selektor wariantu emotikonu, a właściwie kody U+FE0E dla tekstu i U+FE0F dla emotikonu po każdym kodzie emotikonu.

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.

Ulepszenia struktury stylów elementów <details><summary>

Obsługa większej liczby stylów CSS dla struktury elementów <details><summary>, aby można było używać tych elementów w większej liczbie przypadków, gdy w witrynie są tworzone widżety rozwijane lub widżety harmonijkowe. Ta zmiana usuwa ograniczenia, które uniemożliwiały ustawienie właściwości wyświetlania w tych elementach, oraz dodaje pseudoelement ::details-content, aby nadać styl kontenerowi dla części, która się rozwija i składa.

@page ramki marginesów

Dodawanie obsługi pól marginesów strony podczas drukowania dokumentu internetowego lub eksportowania go jako PDF.

Pole @page pozwala zdefiniować zawartość w obszarze marginesu strony, na przykład w celu wyświetlenia niestandardowych nagłówków i stopek zamiast domyślnych nagłówków i stopek generowanych przez przeglądarkę.

Pole marginesów jest definiowane za pomocą reguły at-rule w ramach reguły CSS @page. Wygląd i zawartość pola marginesu są określane za pomocą właściwości CSS w ramach reguły at, w tym właściwości content. Liczniki są również obsługiwane w celu numerowania stron. Specyfikacja definiuje 2 specjalne nazwy liczników: page dla bieżącego numeru strony i pages dla łącznej liczby stron.

Obsługa właściwości @property w składni <string>

Obsługa nazwy komponentu <string> w przypadku zarejestrowanych usług niestandardowych.

Obsługa currentcolor w składni koloru względnego

Dozwolić kolorom względnym w CSS (za pomocą słowa kluczowego from) na używanie koloru currentcolor jako bazy. Dzięki temu możesz ustawiać kolory uzupełniające na podstawie koloru tekstu elementu dla jego krawędzi, cieni lub tła.

Ta funkcja obejmuje też przypadki, w których funkcje kolorów są zagnieżdżone z zależnością od currentcolor, na przykład color-mix(in srgb, rgb(from currentcolor r g b), white)) lub rgb(from rgb(from currentcolor 1 g b) b g r).

Obsługa zewnętrznych zasobów SVG w przypadku usług clip-path, fill, strokemarker-*

Ta funkcja dodaje obsługę odwołań zewnętrznych w przypadku ścieżek klipów, znaczników i serwerów paint (w przypadku właściwości „wypełnienie” i „obrys”). Na przykład: clip-path: url("resources.svg#myPath").

Interfejsy Web API

Direct Sockets API

Umożliwia odizolowanym aplikacjom internetowym nawiązywanie komunikacji z urządzeniami sieciowymi i systemami za pomocą protokołów TCP i UDP, a także nasłuchiwanie i akceptowanie przychodzących połączeń.

Wykluczenie nagłówka Speculation-Rules z ograniczeń CSP

Aktualizuje integrację reguł spekulacji i CSP, tak aby CSP dotyczyła tylko <script type=speculationrules>, a nie nagłówka Speculation-Rules. Zasady skryptów w CSP mają na celu ochronę przed wstrzyknięciem skryptów do kodu HTML, a model zagrożeń CSP nie dotyczy nagłówków HTTP. Umożliwia to łatwiejsze wdrażanie reguł spekulacyjnych z CDN-ów i innych serwerów peryferyjnych.

FedCM jako sygnał zaufania dla interfejsu Storage Access API

Zgodność interfejsów FedCM i Storage Access API poprzez przyznanie wcześniejszego uprawnienia FedCM do automatycznego zatwierdzania żądania dostępu do pamięci masowej.

Gdy użytkownik zezwala na używanie swojej tożsamości przez zewnętrznego dostawcę tożsamości (IdP) w systemie strony trzeciej (RP), wiele dostawców tożsamości wymaga plików cookie firm zewnętrznych, aby działać prawidłowo i bezpiecznie. Celem tej propozycji jest spełnienie tego wymogu w sposób prywatny i bezpieczny poprzez zaktualizowanie interfejsu Storage Access API (SAA) w celu uwzględnienia nie tylko uprawnień przyznanych przez prompt dostępu do Storage, ale też przez prompt FedCM.

Kluczową właściwością tego mechanizmu jest ograniczenie uprawnień do przypadków wyraźnie dozwolonych przez dostawcę treści w ramach zasad uprawnień FedCM, zapewnienie dostawcy treści kontroli na poziomie ramki oraz zapobieganie pasywnej obserwacji przez dostawcę tożsamości poza możliwościami, które FedCM już przyznaje.

Wartość COOP noopener-allow-popups

Niektóre źródła mogą zawierać różne aplikacje o różnym poziomie wymagań bezpieczeństwa. W takich przypadkach warto uniemożliwić skryptom działającym w jednej aplikacji otwieranie stron i skryptów w innej aplikacji z tego samego źródła.

W takich przypadkach może być przydatne, aby otwórzający dokument nie mógł go modyfikować, nawet jeśli dokument otwierający pochodzi z tego samego źródła. Wartość noopener-allow-popups Cross-Origin-Opener-Policy pozwala dokumentom określać to zachowanie.

Private Aggregation API: zwiększenie limitu udziału do 100 dla wywołujących Protected Audience

Umożliwia osobom uruchamiającym skrypt Protected Audience dodanie maksymalnie 100 wkładów na raport Private Aggregation, w związku z obecnym limitem 20 wkładów.

Aggregacja prywatna ogranicza liczbę danych histogramu, które można umieścić w pojedynczym raporcie podlegającym agregacji, pomijając wszystkie dodatkowe dane. Wywołujący Shared Storage mogą obejść ten limit, wywołując inną operację Shared Storage. Jednak wywołania Protected Audience nie mają trwałego miejsca na dane, więc ich nadmiarowe udziały są tracone po zakończeniu aukcji. Pamiętaj, że ta zmiana nie ma wpływu na prywatność, ponieważ udziały interfejsu API są nadal ograniczone przez ten sam budżet prywatności.

Ze względu na wypełnienie każdy raport dotyczący chronionych list odbiorców będzie miał większą zawartość, nawet jeśli nie będzie wymagał większego limitu udziału. Spodziewamy się, że te większe raporty spowodują wzrost kosztów obsługi usługi agregacji.

Wybierz ustępstwo dotyczące parsowania

Ta zmiana powoduje, że parser HTML zezwala na dodatkowe tagi w elemencie <select> oprócz tagów <option>, <optgroup><hr>.

Ta zmiana dotyczy funkcji dostosowania <select>, ale jest wprowadzana jako pierwsza, ponieważ można ją wdrożyć osobno i niesie ze sobą pewne ryzyko związane z kompatybilnością, na temat którego zespół Chrome chciałby otrzymać opinie.

WebGPU: odległość przycięcia

Dodano opcjonalną funkcję GPU clip-distances, która umożliwia ustawianie zdefiniowanych przez użytkownika odległości odcięcia w wyjściach z shadera wierzchołka. Ta technika jest szczególnie przydatna w przypadku aplikacji, które muszą przycinać wszystkie wierzchołki w scenie, które znajdują się poza płaszczyzną zdefiniowaną przez użytkownika, np. w wielu aplikacjach CAD.

WebGPU: GPUCanvasContext getConfiguration()

Po wywołaniu funkcji GPUCanvasContext configure() z słownikiem konfiguracji możesz użyć metody GPUCanvasContext getConfiguration(), aby sprawdzić konfigurację kontekstu kanwy. Obejmuje ona użytkowników GPU device, format, usage, viewFormats, colorSpace, toneMappingalphaMode. Jak opisano w problemie 4828, aplikacje internetowe mogą go używać do wykrywania, czy w WebGPU obsługiwane jest tło HDR.

WebHID na dedykowanych instancjach roboczych

Umożliwia korzystanie z WebHID w dedykowanych kontekstach procesów roboczych. Dzięki temu możesz wykonywać intensywne operacje wejścia/wyjścia i przetwarzanie danych z urządzenia HID w osobnym wątku, co pomoże zmniejszyć wpływ na wydajność wątku głównego.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

Interfejs API, który konfiguruje kodery WebRTC tak, aby skalowały klatki wejściowe, jeśli są większe niż określone wartości maxWidth i maxHeight. Ten interfejs API jest podobny do interfejsu scaleResolutionDownBy, ale ograniczenia rozdzielczości są wyrażane w wartościach bezwzględnych (np. 640 × 360), a nie względnych (np. zmniejszenie o 2), co pozwala uniknąć warunków wyścigowych związanych ze zmianą rozmiaru ramki wejściowej w biegu działania.

Nowe wersje próbne origin

W Chrome 131 możesz wziąć udział w tych nowych testach wersji.

Statystyki odtwarzania WebAudio

Funkcja AudioContext.playoutStats pozwala aplikacji mierzyć jakość i opóźnienie odtwarzania dźwięku za pomocą WebAudio.

Summarizer API

Interfejs JavaScript API do generowania podsumowań tekstu wejściowego na podstawie modelu językowego AI.

Wycofanie i usunięcie

W tej wersji Chrome wprowadzamy następujące wycofania i usunięcia. Na stronie ChromeStatus.com znajdziesz listy planowanych i obecnych wycofań oraz wcześniejszych usunięciach.

W tej wersji Chrome usunęliśmy 3 funkcje.

Usuń właściwość CSS pozycjonowania kotwicy inset-area

W związku z decyzją grupy roboczej CSS o zmianie nazwy właściwości inset-area na position-area, usunięcie tej właściwości pozwoli uprościć implementację w Chromium w przypadku funkcji zgodnej ze standardami.

Usuń możliwość wyłączenia BeforeunloadEventCancelByPreventDefault

Funkcja BeforeunloadEventCancelByPreventDefault została wprowadzona w Chrome 117, ale istnieje zasada dla przedsiębiorstw, która umożliwia wymuszenie wyłączenia tej flagi. Zasada dotycząca przedsiębiorstwa zostanie usunięta w Chrome 131.

Usuń niestandardową metodę GPUAdapter requestAdapterInfo()

Grupa robocza WebGPU uznała, że wywoływanie prośby o przyznanie uprawnień przez requestAdapterInfo() jest niepraktyczne, więc usunięto tę opcję i zastąpiono ją atrybutem GPUAdapter info, aby deweloperzy webowi mogli uzyskać tę samą wartość GPUAdapterInfo w sposób synchroniczny.