Opublikowano: 16 października 2024 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 poniżej znajdziesz w podanych linkach lub na liście na stronie ChromeStatus.com. Od 16 października 2024 r. Chrome 131 jest w wersji beta. Najnowszą wersję na komputery możesz pobrać na stronie Google.com, a na Androida – w Sklepie Google Play.
CSS
Ta wersja zawiera 8 nowych funkcji CSS.
Pozycjonowanie 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 przełączanie między kolorowymi (w stylu emoji) a monochromatycznymi (w stylu tekstowym) glifami emoji. Można to też zrobić, dodając selektor wariantu emoji, czyli U+FE0E w przypadku tekstu i U+FE0F w przypadku emoji, po każdym punkcie kodowym emoji.
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 dziedziczenia w przypadku stylów zaznaczenia CSS) autorstwa Stephena Chenneya z firmy Igalia.
Ulepszenia struktury stylów elementów <details> i <summary>
Dodano obsługę większej liczby stylów CSS w przypadku struktury elementów <details> i <summary>
, aby można było ich używać w większej liczbie przypadków, w których w internecie tworzone są widżety ujawniania
lub widżety akordeonu. W szczególności ta zmiana usuwa ograniczenia, które uniemożliwiały ustawienie właściwości display w tych elementach, i dodaje pseudoelement ::details-content, aby stylizować kontener części, która się rozwija i zwija.
Pola marginesów @page
Dodano obsługę pól marginesów strony podczas drukowania dokumentu internetowego lub eksportowania go do formatu PDF.
Pola marginesów @page umożliwiają zdefiniowanie treści w obszarze marginesu strony, na przykład w celu dodania niestandardowych nagłówków i stopek zamiast wbudowanych nagłówków i stopek generowanych przez przeglądarkę.
Pole marginesu jest definiowane za pomocą reguły at-rule w regule CSS @page. Wygląd i zawartość pola marginesu są określane za pomocą właściwości CSS w regule at-rule, w tym właściwości content. Obsługiwane są też liczniki do numerowania stron. Specyfikacja definiuje 2 specjalne nazwy liczników: page dla numeru bieżącej strony i pages dla łącznej liczby stron.
Obsługa składni <string> w przypadku @property
Obsługa nazwa komponentu składni <string> w przypadku zarejestrowanych właściwości niestandardowych.
Obsługa currentcolor w składni kolorów względnych
Umożliwia używanie currentcolor jako podstawy w przypadku kolorów względnych w CSS (za pomocą słowa kluczowego from). Dzięki temu możesz ustawić kolory uzupełniające na podstawie koloru tekstu elementu, aby użyć ich w przypadku obramowań, cieni lub tła tego elementu.
Ta funkcja obejmuje też przypadki użycia, 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 właściwości clip-path, fill, stroke i marker-*
Ta funkcja dodaje obsługę odwołań zewnętrznych do ścieżek przycinania, znaczników i serwerów malowania (w przypadku właściwości „fill” i „stroke”). Na przykład,
clip-path: url("resources.svg#myPath").
Interfejsy Web API
Direct Sockets API
Umożliwia izolowanym aplikacjom internetowym nawiązywanie bezpośredniej komunikacji za pomocą protokołu TCP i UDP z urządzeniami i systemami sieciowymi, a także nasłuchiwanie i akceptowanie połączeń przychodzących.
Wyłączenie nagłówka Speculation-Rules z ograniczeń CSP
Aktualizuje integrację między regułami spekulacji a CSP, tak aby CSP stosowało się tylko
do <script type=speculationrules>, a nie do Speculation-Rules
nagłówka. Zasady dotyczące skryptów CSP mają chronić przed wstrzykiwaniem skryptów do kodu HTML, a model zagrożeń CSP nie jest powiązany z nagłówkami HTTP. Umożliwia to łatwiejsze wdrażanie reguł spekulacji z sieci CDN i innych serwerów brzegowych.
FedCM jako wskaźnik zaufania dla interfejsu Storage Access API
Uzgadnia interfejsy FedCM i Storage Access API, dzięki czemu wcześniejsze przyznanie uprawnień FedCM jest ważnym powodem do automatycznego zatwierdzenia prośby o dostęp do pamięci.
Gdy użytkownik przyzna stronie ufającej uprawnienia do używania swojej tożsamości u zewnętrznego dostawcy tożsamości, wielu dostawców tożsamości wymaga plików cookie innych firm, aby działać prawidłowo i bezpiecznie. Ta propozycja ma na celu spełnienie tego wymagania w sposób prywatny i bezpieczny przez zaktualizowanie kontroli uprawnień interfejsu Storage Access API (SAA), tak aby akceptował on nie tylko uprawnienia przyznane przez prośbę o dostęp do pamięci, ale też uprawnienia przyznane przez prośbę FedCM.
Kluczową właściwością tego mechanizmu jest ograniczenie przyznawania uprawnień do przypadków wyraźnie dozwolonych przez stronę ufającą za pomocą zasad uprawnień FedCM, co zapewnia kontrolę nad poszczególnymi ramkami i uniemożliwia pasywne śledzenie przez dostawcę tożsamości poza możliwościami, które już zapewnia FedCM.
Wartość COOP noopener-allow-popups
Niektóre źródła mogą zawierać różne aplikacje o różnych poziomach wymagań dotyczących bezpieczeństwa. W takich przypadkach może być korzystne uniemożliwienie skryptom działającym w jednej aplikacji otwierania i skryptowania stron innej aplikacji z tej samej domeny.
W takich przypadkach może być korzystne, aby dokument zapewniał, że jego otwierający nie może go skryptować, nawet jeśli dokument otwierający pochodzi z tej samej domeny. Wartość Cross-Origin-Opener-Policy noopener-allow-popups umożliwia dokumentom zdefiniowanie takiego zachowania.
interfejs Private Aggregation API: zwiększenie limitu wkładu do 100 w przypadku wywołań Protected Audience
Umożliwia skryptom Protected Audience wnoszenie do 100 wkładów na raport Private Aggregation w porównaniu z obecnym limitem 20.
Private Aggregation ogranicza liczbę wkładów histogramu, które można osadzić w jednym raporcie zbiorczym, odrzucając wszelkie dodatkowe wkłady. Wywołujący Shared Storage mogą obejść ten limit, wywołując inną operację Shared Storage. Jednak wywołujący Protected Audience nie mają trwałej pamięci, więc tracą nadmiarowe wkłady po zakończeniu aukcji. Pamiętaj, że ta zmiana nie ma wpływu na prywatność, ponieważ wkłady interfejsu API są nadal ograniczone tym samym budżetem prywatności.
Ze względu na dopełnienie każdy raport Odbiorcy będzie miał większy ładunek, nawet jeśli nie będzie potrzebował większego limitu wkładu. Spodziewamy się, że te większe raporty zwiększą koszt działania usługi Aggregation Service.
Poluzowanie parsera select
Ta zmiana sprawia, że parser HTML zezwala na dodatkowe tagi w <select> oprócz
<option>, <optgroup> i <hr>.
Ta zmiana jest związana z funkcją dostosowywania <select> ale jest wdrażana
jako pierwsza, ponieważ można ją wprowadzić osobno i wiąże się z pewnym ryzykiem zgodności, w związku z którym
zespół Chrome chciałby uzyskać opinie.
WebGPU: odległości przycinania
Dodaje opcjonalną funkcję GPU clip-distances, która umożliwia ustawianie zdefiniowanych przez użytkownika odległości przycinania w danych wyjściowych shadera wierzchołków. Ta technika jest szczególnie przydatna w przypadku aplikacji, które muszą przycinać wszystkie wierzchołki w scenie znajdujące się poza płaszczyzną zdefiniowaną przez użytkownika, takich jak wiele aplikacji CAD.
WebGPU: GPUCanvasContext getConfiguration()
Gdy wywołasz GPUCanvasContext configure() ze słownikiem konfiguracji, możesz użyć metody GPUCanvasContext getConfiguration(), aby sprawdzić konfigurację kontekstu kanwy. Obejmuje ona elementy device, format, usage, viewFormats, colorSpace, toneMapping i alphaMode GPU.
Jak omówiono w problemie 4828,
aplikacje internetowe mogą używać tej metody
do wykrywania, czy kanwa HDR jest obsługiwana w WebGPU.
WebHID w przypadku procesów dedykowanych
Włącza WebHID w kontekstach procesów dedykowanych. Dzięki temu możesz wykonywać operacje wejścia/wyjścia i przetwarzanie danych z urządzenia HID w osobnym wątku, co pomaga zmniejszyć wpływ na wydajność w wątku głównym.
WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo
Interfejs API, który konfiguruje kodery WebRTC do skalowania klatek wejściowych, jeśli są one większe niż określone wartości maxWidth i maxHeight. Ten interfejs API jest podobny do scaleResolutionDownBy, z tą różnicą, że ograniczenia rozdzielczości są wyrażane w wartościach bezwzględnych (np. 640 x 360), a nie względnych (np. zmniejsz o 2), co pozwala uniknąć sytuacji wyścigu związanych ze zmianą rozmiaru klatki wejściowej w locie.
Nowe wersje próbne origin
W Chrome 131 możesz wziąć udział w tych nowych wersjach próbnych origin.
Statystyki odtwarzania w przypadku WebAudio
Funkcja AudioContext.playoutStats umożliwia aplikacji mierzenie jakości i opóźnienia odtwarzania dźwięku za pomocą WebAudio.
Summarizer API
Interfejs JavaScript API do tworzenia podsumowań tekstu wejściowego, oparty na modelu językowym AI.
Wycofania i usunięcia
Ta wersja Chrome wprowadza te wycofania i usunięcia. Listy planowanych wycofań, bieżących wycofań i poprzednich usunięć znajdziesz na stronie ChromeStatus.com.
Ta wersja Chrome usuwa 3 funkcje.
Usunięcie właściwości pozycjonowania kotwicy CSS inset-area
W związku z decyzją grupy roboczej CSS o zmianie nazwy właściwości inset-area na position-area to usunięcie porządkuje implementację w Chromium w celu zapewnienia zgodności ze standardami.
Usunięcie możliwości wyłączenia BeforeunloadEventCancelByPreventDefault
Funkcja BeforeunloadEventCancelByPreventDefault została wprowadzona w Chrome 117, ale istnieje zasada przedsiębiorstwa, która umożliwia wymuszenie wyłączenia tej flagi. Zasada przedsiębiorstwa zostanie usunięta w Chrome 131.
Usunięcie niestandardowej metody GPUAdapter requestAdapterInfo()
Grupa robocza WebGPU zdecydowała, że wywoływanie prośby o uprawnienia przez requestAdapterInfo() jest niepraktyczne, dlatego usunęła tę opcję i zastąpiła ją atrybutem GPUAdapter info, aby deweloperzy stron internetowych mogli synchronicznie uzyskiwać tę samą wartość GPUAdapterInfo.