Chrome 115 w wersji beta

Wiele słów kluczowych dla usługi displayowej CSS, WGSLLanguageFeatures dla WebGPU, uaktualnień HTTPS i nie tylko.

O ile nie zaznaczono inaczej, opisane zmiany dotyczą najnowszych wersji beta Chrome na Androida, ChromeOS, Linux, macOS i Windows. Dowiedz się więcej o funkcjach wymienionych na liście, korzystając z podanych linków lub z listy na ChromeStatus.com. Od 31 maja 2023 r. przeglądarka Chrome 115 jest w wersji beta. Najnowsze aktualizacje możesz pobrać z Google.com na komputer lub ze Sklepu Google Play na Androida.

CSS

W tej wersji dodaliśmy 3 nowe funkcje CSS.

Wiele wartości właściwości display

Właściwość CSS display oprócz starszych wstępnie utworzonych słów kluczowych akceptuje teraz wiele słów kluczowych. Pierwsze 2 słowa kluczowe reprezentują wartości zewnętrzne i wewnętrzne związane z reklamą displayową. Istnieją opcjonalne flagi list-item, wartości wewnętrzne, np. table-cell, oraz wartości pól contents i none.

Za pomocą zewnętrznych i wewnętrznych słów kluczowych możesz określić działanie pola zewnętrznego (w bloku lub w tekście) i zachowania się wewnętrznych elementów podrzędnych, np. flex, grid lub flow. Dlatego display: flex zmienia się w display: block flex, a display: block zmienia się w display: block flow. Listę typowych mapowań i inne informacje znajdziesz w MDN.

Zapytania dotyczące kontenera w kontekście logicznym

Chrome 115 obsługuje zapytania o kontenery style() bez wartości deklaracji, a tylko nazwę właściwości na potrzeby dopasowywania wartości niepoczątkowych. Wcześniej należało użyć: not style(--my-property: initial). Teraz możesz użyć style(--my-property), aby dopasować dowolną wartość niepoczątkową.

Animacje przewijane

ScrollTimeline i ViewTimeline to rozszerzenie specyfikacji Animacji internetowych, które umożliwia programistom stosowanie pozycji rolki lub pozycji elementu w obszarze przewijającym jako wejściowego „czasu” zamiast domyślnego monotonnego czasu zegara. Pozwala to włączyć przyspieszone animacje przewijające się, takie jak zmniejszający się pasek nawigacyjny, bez konieczności wykonywania skryptu użytkownika. Można je deklarować i tworzyć zarówno w CSS i JavaScript, jak i w animacjach CSS i animacjach internetowych.

Więcej informacji znajdziesz w artykule o animowaniu elementów podczas przewijania za pomocą animacji przewijanych.

Poprawiono regresję, w wyniku której elementy z display: contents nie były już wyświetlane w drzewie ułatwień dostępu

Wprowadzono regresję, która spowodowała, że elementy z atrybutem display: contents utraciły informacje semantyczne i nie były już prawidłowo reprezentowane w drzewie ułatwień dostępu. Chrome 115 zawiera poprawkę tego problemu.

Internetowe interfejsy API

Zwiększenie maksymalnego rozmiaru elementu WebAssembly.Module() w wątku głównym do 8 MB

Konstruktor WebAssembly.Module() synchronicznie kompiluje binarny moduł WebAssembly, co może zablokować wątek główny. Aby tego uniknąć, maksymalny rozmiar modułu WebAssembly, który można skompilować za pomocą tego konstruktora, jest ograniczony do 8 MB. Większe moduły można kompilować asynchronicznie w wątku głównym za pomocą funkcji WebAssembly.compile() lub synchronicznie w wątku instancji roboczej. Limit 8 MB stanowi rozszerzenie pierwotnego limitu wynoszącego 4 KB. To rozszerzenie jest możliwe dzięki ulepszeniom w środowisku wykonawczym WebAssembly w wersji 8. Limit 8 MB został określony na podstawie pomiarów wydajności telefonu Google Pixel 1, który jest obecnie uważany za reprezentatywny telefon słabszej jakości. W przyszłości kolejne postępy w zakresie technologii V8 i sprzętu mogą pozwolić na dalsze wydłużenie limitu.

FedCM: wymagania dotyczące zapośredniczenia zarządzania danymi logowania w ramach pomocy w przypadku automatycznego ponownego uwierzytelniania

Obsługuje wymagania dotyczące zapośredniczenia zarządzania danymi logowania w celu usprawnienia procesu ponownego uwierzytelniania użytkowników, którzy utworzyli sfederowane konta w witrynach za pomocą interfejsu FedCM API.

Uaktualnienia HTTPS

Automatycznie i optymalnie uaktualniaj wszystkie elementy nawigacyjne na głównej podstawce do protokołu HTTPS i szybko przełączaj się na HTTP.

Partycjonowanie interfejsów API Storage, Service Worker i Communication

Aby zapobiec niektórym rodzajom śledzenia w witrynach w różnych kanałach, Chrome partycjonuje interfejsy API do komunikacji i pamięci w kontekstach zewnętrznych. Obejmuje to miejsce na dane zarządzane przy użyciu limitu, mechanizmy Service Worker i interfejsy API (np. BroadcastChannel). Więcej informacji znajdziesz w dokumentacji partycjonowania pamięci.

Czas zasobu: udostępnianie tymczasowych czasów odpowiedzi

Udostępnij PerformanceResourceTiming.firstInterimResponseStart w przypadkach, gdy podczas pobierania zasobów nawigacyjnych lub zasobów podrzędnych wystąpi tymczasowa odpowiedź 1xx. Na przykład przy 100 kontynuacji lub 103 wskazówkach wczesnych firstInterimResponseStart odpowiada teraz czasowi pierwszej odpowiedzi tymczasowej, a responseStart odpowiada ostatecznej odpowiedzi, np. stan 200.

Aktualizacja obsługi prefiksów „xml” w językach lookupNamespaceURI() i createNSResolver()

Node.lookupNamespaceURI() domyślnie obsługuje prefiksy „xml” i „xmlns”. Ta funkcja zwraca dla nich stałe ciągi znaków przestrzeni nazw. Document.createNSResolver() i XPathEvaluator.createNSResolver() zatrzymują się, aby opakować określony węzeł w celu dodania obsługi prefiksu „xml”. Zwracają określony węzeł w takiej postaci, w jakiej jest. Programiści stron internetowych mogą teraz używać elementu jako elementu XPathNSResolver bez uwzględniania go w elemencie createNSResolver().

VisibilityStateEntry

Przedstawia stan widoczności (widoczny lub ukryty) na osi czasu skuteczności. Oś czasu zawsze będzie zawierała wpis z wartością startTime równą 0 i początkowym stanem widoczności, a także wpisami odpowiadającymi każdej zmianie tego stanu.

WGSLLanguageFeatures dla WebGPU

Dodaje metodę pobierania wgslLanguageFeatures w obiekcie GPU dla WebGPU i odpowiadający mu typ WGSLLanguageFeatures.

Polecenia WebDriver do interakcji z oknami FedCM

Ujawni to kilka poleceń WebDriver, które umożliwiają automatyzację przeglądarki (np. testowanie automatyczne) na interakcję z oknami dialogowymi FedCM.

Testowanie origin w toku

W Chrome 115 możesz włączyć te nowe testy origin.

Ciśnienie obliczeniowe

Interfejs Compute Pressure API udostępnia ogólne informacje o bieżącym stanie sprzętu urządzenia, dzięki czemu witryny mogą zachować odpowiednią równowagę między wykorzystaniem dostępnej mocy obliczeniowej i obciążeniem systemu. Compute Pressure to ogólne określenie. W tej chwili jest obliczany na podstawie obciążenia procesora, ale w przyszłości będziemy uwzględniać sygnały np. dotyczące temperatury czy stanu baterii. Więcej informacji znajdziesz w artykule o ogłoszeniu drugiego badania origin Compute Pressure.

Zarejestruj się, aby wziąć udział w testowaniu origin Compute Pressure

Wyraźne wskazówki do kompilacji z magicznymi komentarzami

Umożliwia załączanie informacji o tym, które funkcje powinny być szybko analizowane i kompilowane w plikach JavaScript. Informacje zostaną zakodowane jako magiczne komentarze. Będziemy eksperymentować z różnymi formatami komentarzy. Dotyczy to na przykład oznaczania wszystkich funkcji w pliku na potrzeby szybkiej kompilacji lub tylko ich podzbioru.

Zarejestruj się, aby korzystać z wyraźnych wskazówek dotyczących kompilacji w ramach magicznego testowania origin komentarzy.

Interfejs API Long Animation Frames

Jest to rozszerzenie Long Tasks API. Mierzy zadanie wraz z kolejną aktualizacją renderowania, dodając takie informacje jak długo działające skrypty, czas renderowania i czas spędzony na wymuszonym układzie i stylu zwanym tzw. „mchaniem układu”. Deweloperzy mogą użyć tych danych do wykrywania „powolnego działania”, który jest mierzony przez interakcję z kolejnym wyrenderowaniem (INP), wykrywając przyczyny zatoru w wątku głównym, które często jest przyczyną nieprawidłowego INP.

Zarejestruj się, aby wziąć udział w testowaniu origin Original Frames

Interfejs API zasobników Cloud Storage

Zasobniki na dane umożliwiają witrynom tworzenie wielu zasobników pamięci masowej na potrzeby porządkowania danych, dzięki czemu klienty użytkownika mogą usuwać każdy zasobnik niezależnie od innych zasobników. W każdym zasobniku na dane mogą być przechowywane dane powiązane z uznawanymi interfejsami API, takimi jak IndexedDB i CacheStorage. Zarejestruj się, aby wziąć udział w testowaniu origin interfejsu API zasobników Cloud Storage

Wycofania i usunięcia

W tej wersji Chrome wprowadziliśmy wymienione poniżej funkcje wycofywania i usuwania. Na stronie ChromeStatus.com znajdziesz listę planowanych wycofań, bieżących wycofań oraz poprzednich usunięć.

W tej wersji Chrome wycofujemy 2 funkcje.

Wycofaj ustawiający atrybut document.domain

Metoda ustawiająca document.domain została wycofana, ponieważ umożliwia programistom złagodzenie zasady dotyczącej tej samej domeny. W rezultacie komplikuje podstawowe granice bezpieczeństwa, które chcemy utrzymać, i uniemożliwia wprowadzanie zmian w modelu procesów Chromium po Spectre. Alternatywne sposoby używania dokumentu document.domain znajdziesz w artykule Chrome wyłącza możliwość modyfikowania dokumentu document.domain. W większości przypadków identyfikatory postMessage() z innych domen lub interfejs Channel Messaging API mogą zastąpić dokument document.domain. W ostateczności możesz zacząć przydzielić domenę dokumentu za pomocą klastrów agentów ze źródłem jako kluczem. Metoda ustawiająca pozostanie bez zmian, ale źródło pozostanie niezmienione.

Zrezygnuj z mutacji

Zdarzenia mutacji, w tym DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument i DOMNodeInsertedIntoDocument, zostały wycofane ze specyfikacji w 2011 roku i zastąpione w 2012 roku interfejsem Mutation Observer API. Użycie przestarzałych zdarzeń mutacji należy przenieść do Obserwatora mutacji przed usunięciem ich w Chrome 127 (20 lipca 2024 r.).

Dowiedz się więcej o wycofywaniu zdarzeń mutacji.