Chrome 131 w wersji beta

Opublikowano: 16 października 2024 r.

O ile nie zaznaczono inaczej, poniższe zmiany dotyczą najnowszej wersji beta Chrome na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o funkcjach wymienionych poniżej znajdziesz w linkach lub na liście na stronie ChromeStatus.com. 16 października 2024 r. Chrome 131 jest w wersji beta. Najnowsze informacje znajdziesz na Google.com (na komputerze) lub w Sklepie Google Play (na Androidzie).

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żesz to też zrobić, dodając po każdym punkcie kodowym emotikonu selektor wariantu emotikonu, czyli U+FE0E w przypadku tekstu i U+FE0F w przypadku emotikonu.

Dziedziczenie wyróżnienia CSS

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

Więcej informacji znajdziesz w poście na blogu Zmiany dziedziczenia w stylizacji selekcji CSS autorstwa Stephena Chenneya z firmy Igalia.

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

Obsługa większej liczby stylów CSS dla struktury elementów <details><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 akordeonowe. 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 określić styl kontenera dla części, która się rozwija i zwija.

@page marginesy

Dodanie obsługi marginesów strony podczas drukowania dokumentu internetowego lub eksportowania go do formatu PDF.

Pola marginesów @page umożliwiają zdefiniowanie zawartości obszaru marginesu strony, np. w celu podania niestandardowych nagłówków i stopek zamiast wbudowanych nagłówków i stopek generowanych przez przeglądarkę.

Obszar marginesu jest definiowany za pomocą reguły @ wewnątrz reguły CSS @page. Wygląd i zawartość pola marginesu są określane za pomocą właściwości CSS w regule @, 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 właściwości @property <string> składnia

Obsługa nazwy komponentu składni <string> w przypadku zarejestrowanych właściwości niestandardowych.

Obsługa currentcolor w składni kolorów względnych

Zezwalaj na używanie kolorów względnych w CSS (za pomocą słowa kluczowego from) z currentcolor jako podstawą. Umożliwia to ustawienie kolorów uzupełniających na podstawie koloru tekstu elementu dla 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, np. 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ę zewnętrznych odwołań do ścieżek przycinania, znaczników i serwerów farb (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 odizolowanym 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 dotyczyło tylko <script type=speculationrules>, a nie nagłówka Speculation-Rules. Zasady 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. Ułatwia to wdrażanie reguł spekulacyjnych z sieci CDN i innych serwerów brzegowych.

FedCM jako sygnał zaufania dla interfejsu Storage Access API

Ujednolica interfejsy FedCM i Storage Access, sprawiając, że wcześniejsze przyznanie uprawnień FedCM jest ważnym powodem do automatycznego zatwierdzenia żądania dostępu do pamięci masowej.

Gdy użytkownik przyznaje uprawnienia do korzystania z jego tożsamości u zewnętrznego dostawcy tożsamości w ramach podmiotu ufającego, 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), aby akceptować nie tylko przyznanie uprawnień w odpowiedzi na prośbę o dostęp do pamięci, ale także przyznanie uprawnień w odpowiedzi na prośbę FedCM.

Kluczową cechą tego mechanizmu jest ograniczenie przyznawania uprawnień do przypadków wyraźnie dozwolonych przez RP za pomocą zasad uprawnień FedCM, wymuszanie kontroli na poziomie ramki dla RP i zapobieganie pasywnemu nadzorowi 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 warto uniemożliwić skryptom działającym w jednej aplikacji otwieranie stron i skryptów innej aplikacji z tej samej domeny.

W takich przypadkach może być korzystne, aby dokument zapewniał, że osoba otwierająca nie może go skryptować, nawet jeśli dokument otwierający pochodzi z tej samej domeny. Wartość noopener-allow-popupsCross-Origin-Opener-Policy umożliwia dokumentom określenie tego zachowania.

Interfejs Private Aggregation API: zwiększenie limitu udziału do 100 w przypadku wywołań z interfejsu Protected Audience API

Umożliwia skryptom Protected Audience przesyłanie do 100 wartości w każdym raporcie Private Aggregation, w porównaniu z obecnym limitem wynoszącym 20.

Private Aggregation ogranicza liczbę wkładów do histogramu, które można umieścić w jednym raporcie z możliwością agregacji, i odrzuca wszelkie dodatkowe wkłady. Wywołujący interfejs Shared Storage mogą obejść ten limit, wywołując inną operację Shared Storage. Jednak wywołujący interfejs Protected Audience API nie mają trwałego miejsca na dane, więc po zakończeniu aukcji tracą nadwyżkę wkładu. Pamiętaj, że ta zmiana nie ma wpływu na prywatność, ponieważ udział interfejsu API jest nadal ograniczony przez ten sam budżet prywatności.

Ze względu na dopełnienie każdy raport Protected Audience będzie miał większy rozmiar, nawet jeśli nie będzie potrzebował większego limitu udziału. Spodziewamy się, że te większe raporty zwiększą koszt działania usługi agregacji.

Wybierz poluzowanie parsera

Dzięki tej zmianie parser HTML będzie zezwalać na dodatkowe tagi w elemencie <select> oprócz tagów <option>, <optgroup><hr>.

Ta zmiana jest wprowadzana w ramach funkcji dostosowywania <select>, ale jest wdrażana jako pierwsza, ponieważ można ją wprowadzić osobno i wiąże się z pewnym ryzykiem związanym z kompatybilnością, na temat którego 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 sceny znajdujące się poza płaszczyzną zdefiniowaną przez użytkownika, np. w wielu aplikacjach CAD.

WebGPU: GPUCanvasContext getConfiguration()

Gdy wywołasz funkcję GPUCanvasContext configure() ze słownikiem konfiguracji, możesz użyć metody GPUCanvasContext getConfiguration(), aby sprawdzić konfigurację kontekstu obszaru rysowania. Obejmuje ona użytkowników GPU device, format, usage, viewFormats, colorSpace, toneMappingalphaMode. Jak omówiono w problemie 4828, aplikacje internetowe mogą używać tego interfejsu do wykrywania, czy w WebGPU jest obsługiwane płótno HDR.

WebHID w przypadku dedykowanych instancji roboczych

Włącza WebHID w kontekstach dedykowanych procesów roboczych. Umożliwia to wykonywanie operacji wejścia/wyjścia i przetwarzanie danych z urządzenia HID w osobnym wątku, co pomaga zmniejszyć wpływ na wydajność wątku głównego.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

Interfejs API, który konfiguruje kodery WebRTC tak, aby skalowały ramki wejściowe, jeśli są większe niż określone wartości maxWidthmaxHeight. Ten interfejs API jest podobny do interfejsu scaleResolutionDownBy, z tym że ograniczenia rozdzielczości są wyrażane w wartościach bezwzględnych (np. 640 × 360), a nie względnych (np. zmniejsz o 2), co pozwala uniknąć sytuacji wyścigu związanych ze zmianą rozmiaru klatki wejściowej w trakcie przetwarzania.

Nowe wersje próbne origin

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

Statystyki odtwarzania WebAudio

Funkcja AudioContext.playoutStats umożliwia aplikacji pomiar 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

W tej wersji Chrome wprowadziliśmy 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.

Usuwanie 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 usunięcie tej funkcji pozwoliło oczyścić implementację w Chromium, aby była zgodna ze standardami.

Odebranie możliwości wyłączenia BeforeunloadEventCancelByPreventDefault

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

Usunięcie niestandardowej metody GPUAdapter requestAdapterInfo()

Grupa robocza WebGPU uznała, że wywoływanie prośby o uprawnienia przez requestAdapterInfo() jest niepraktyczne, więc usunęła tę opcję i zastąpiła ją atrybutem GPUAdapter info, aby deweloperzy stron internetowych mogli synchronicznie uzyskiwać tę samą wartość GPUAdapterInfo.