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 funkcjachChromeStatus.com 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.
Pozycjonowanie kotwicy CSS: zakres zakotwiczony
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 kontrolowanie glifów emotikonów w kolorowych (stylu emotikonów) i monochromatycznych (w stylu tekstowym). 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>
i <summary>
Obsługuj większą liczbę stylów CSS struktury elementów <details>
i <summary>
, by można było używać tych elementów w większej liczbie przypadków, gdy widżety informowania i widżety akordeoniczne są tworzone w internecie. W szczególności ta zmiana usuwa ograniczenia, które uniemożliwiały ustawienie właściwości wyświetlania w tych elementach, i dodał pseudoelement ::details-content
, który określa styl kontenera w przypadku części, która rozwija się i zwija.
@page
ramki marginesów
Dodawanie obsługi pól marginesów strony podczas drukowania dokumentu internetowego lub eksportowania go jako PDF.
Pola marginesów @page
pozwalają zdefiniować zawartość w obszarze marginesów strony, na przykład dodać niestandardowe nagłówki i stopki, zamiast korzystać z wbudowanych 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
. Obsługiwane są też liczniki
na potrzeby 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 ustawić kolory uzupełniające, na podstawie koloru tekstu elementu, dla obramowania, cieni i tła tego elementu.
Ta funkcja obejmuje również przypadki użycia, w których funkcje kolorów są zagnieżdżone z zależności od bieżącego koloru, 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
, stroke
i marker-*
Ta funkcja zapewnia obsługę odwołań zewnętrznych dla ścieżek klipów, znaczników i serwerów malowania (dla właściwości „wypełnienie” i „kreska”). 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
Zaktualizowano integrację reguł spekulacji z 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 ramach 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 RP w ramach zasad uprawnień FedCM, egzekwowanie kontroli na poziomie ramki dla RP oraz zapobieganie pasywnej obserwacji przez IdP wykraczającej poza uprawnienia już przyznane przez FedCM.
Wartość COOP: noopener-allow-popups
Niektóre źródła mogą zawierać różne aplikacje z różnymi wymaganiami dotyczącymi 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
Powoduje, że uruchamiający skrypty z Protected Audience API mogą generować do 100 publikacji w raporcie agregacji prywatnej (w porównaniu z obecnym limitem 20).
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>
i <hr>
.
Ta zmiana dotyczy obsługi funkcji dostosowywalnej <select>
, ale jest wprowadzana jako pierwsza, ponieważ można ją wdrożyć oddzielnie i niesie pewne ryzyko związane z kompatybilnością, na temat którego zespół Chrome chciałby otrzymać opinie.
WebGPU: odległość przycięcia
Dodaje opcjonalną funkcję GPU clip-distances
, która umożliwia ustawianie zdefiniowanych przez użytkownika odległości przy klipach w danych wyjściowych vertexr cieniowania. Ta technika jest szczególnie przydatna w aplikacjach, w których trzeba przyciąć wszystkie wierzchołki w scenie, która wykracza poza płaszczyznę zdefiniowaną przez użytkownika, tak jak w wielu zastosowaniach 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 procesory graficzne device
, format
, usage
, viewFormats
, colorSpace
, toneMapping
i alphaMode
.
Jak omówiliśmy w problemie 4828, aplikacje internetowe mogą za jego pomocą wykrywać, czy kanwy HDR są obsługiwane przez WebGPU.
WebHID na dedykowanych urządzeniach
Włącza WebHID w dedykowanych kontekstach instancji 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
, z tym wyjątkiem, że ograniczenia rozdzielczości są wyrażane w wartościach bezwzględnych (np. 640 x 360), a nie względnych (np. zmniejszenie o 2). Dzięki temu można uniknąć warunków wyścigowych związanych ze zmianą rozmiaru ramki wejściowej w locie.
Nowe wersje próbne origin
W Chrome 131 możesz wziąć udział w tych nowych testach wersji.
Statystyki odtworzeń dla 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 streszczeń 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ść Pozycjonowania kotwicy CSS inset-area
Wraz ze zmianą nazwy właściwości inset-area
na position-area
w ramach grupy roboczej ds. usług porównywania cen, usunięcie tych zmian upraszcza implementację w Chromium i zapewnia jej zgodność 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()
Zespół Roboczy WebGPU stwierdził, że włączenie przez requestAdapterInfo()
prośby o przyznanie uprawnień jest niepraktyczne, dlatego usunęliśmy tę opcję i zastąpili ją atrybutem GPUAdapter info
, aby deweloperzy stron internetowych mogli synchronicznie otrzymywać tę samą wartość GPUAdapterInfo
.