Chrome 115 w wersji beta

Wiele słów kluczowych dla właściwości wyświetlania CSS, WGSLLanguageFeatures dla WebGPU, uaktualnień HTTPS itp.

O ile nie zaznaczono inaczej, opisane zmiany dotyczą najnowszej wersji wersji beta Chrome na systemy Android, ChromeOS, Linux, macOS i Windows. Więcej informacji o funkcjach znajdziesz, klikając odpowiednie linki lub korzystając z listy na ChromeStatus.com. Chrome 115 jest w wersji beta od 31 maja 2023 r. Najnowsze wersje możesz pobrać ze strony Google.com na komputer lub ze Sklepu Google Play na urządzeniu z Androidem.

CSS

W tej wersji dodaliśmy 3 nowe funkcje CSS.

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

Właściwość CSS display akceptuje teraz jako wartość wiele słów kluczowych (oprócz starszych gotowych słów kluczowych). Pierwsze 2 słowa kluczowe reprezentują zewnętrzne i wewnętrzne wartości parametru displayowego. Istnieją też opcjonalne flagi dla parametru list-item, wartości wewnętrzne, np. table-cell, oraz wartości pól contents i none.

Dzięki zewnętrznym i wewnętrznym słowom kluczowym możesz określić zachowanie pola zewnętrznego (blokowe lub wbudowane) i zachowanie wewnętrznych elementów podrzędnych, np. flex, grid lub flow. Dlatego display: flex zmienia nazwę na display: block flex, a display: block na display: block flow. Listę typowych mapowań w MDN znajdziesz w MDN.

Zapytania dotyczące kontenera stylu opartego na wartościach logicznych

Chrome 115 obsługuje zapytania dotyczące kontenera style() bez wartości deklaracji, tylko z nazwą właściwości, w celu dopasowywania wartości niepoczątkowych. Wcześniej należałoby użyć wyrażenia: not style(--my-property: initial). Teraz możesz użyć ciągu style(--my-property), aby dopasować dowolną wartość niepoczątkową.

Animacje przewijane

ScrollTimeline i ViewTimeline to rozszerzenie specyfikacji animacji internetowych, które pozwala programistom wykorzystać jako „czas” pozycję elementu przewijającego lub pozycji elementu w obrębie paska przewijania. zamiast domyślnego zegara monotonnego. Umożliwia to tworzenie przyspieszonych animacji opartych na przewijaniu, takich jak kurczący pasek nawigacyjny, bez konieczności wykonywania skryptu użytkownika. Można je deklarować i tworzyć zarówno za pomocą CSS, jak i JavaScriptu w animacjach CSS i Web Animation.

Więcej informacji znajdziesz w artykule Animowanie elementów przewijanych za pomocą animacji przewijanych.

Poprawiono regresję polegającą na tym, że elementy z atrybutem 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 są już prawidłowo reprezentowane w drzewie ułatwień dostępu. Chrome 115 zawiera poprawkę tego problemu.

Internetowe interfejsy API

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

Konstruktor WebAssembly.Module() kompiluje synchronicznie binarny moduł WebAssembly, który 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 skompilować asynchronicznie w wątku głównym za pomocą funkcji WebAssembly.compile() lub synchronicznie w wątku instancji roboczej. Limit 8 MB jest rozszerzeniem pierwotnego limitu, który wynosi 4 KB. To rozszerzenie jest możliwe dzięki ulepszeniom środowiska wykonawczego WebAssembly w wersji 8. Limit 8 MB został określony na podstawie pomiarów wydajności na telefonie Google Pixel 1, który obecnie jest uważany za reprezentatywny telefon niskiej klasy. Kolejne ulepszenia w wersji V8 lub sprzęcie mogą umożliwiać dalsze wydłużenie tego limitu.

FedCM: wymagania zapośredniczenia w zarządzaniu danymi logowania do zespołu pomocy na potrzeby automatycznego ponownego uwierzytelniania

Obsługuje wymagania dotyczące mediacji w zarządzaniu danymi logowania, co ułatwia ponowne uwierzytelnianie użytkowników, którzy utworzyli konta sfederowane w witrynach przy użyciu interfejsu FedCM API.

Uaktualnienia HTTPS

Automatycznie i w optymistyczny sposób uaktualnij wszystkie elementy nawigacyjne na ramkach mainframe do HTTPS, z szybkim przejściem na HTTP.

Partycjonowanie interfejsów API Storage, Service Worker i Communication

Aby zapobiec pewnemu rodzajowi śledzenia w witrynach z wykorzystaniem kanału bocznego, Chrome partycjonuje interfejsy API pamięci masowej i komunikacji w kontekstach innych firm. Obejmuje to pamięć masową zarządzaną limitami, mechanizmy Service Worker i interfejsy API do komunikacji (takie jak BroadcastChannel). Więcej informacji znajdziesz w dokumentacji partycjonowania miejsca na dane.

Harmonogram zasobów: informowanie użytkowników o tymczasowym czasie oczekiwania na odpowiedź

Udostępnij PerformanceResourceTiming.firstInterimResponseStart w przypadkach, gdy nawigacja lub pobieranie zasobu podrzędnego napotka tymczasową odpowiedź 1xx. Na przykład przy ustawieniu 100 kontynuowania lub 103 wczesnych podpowiedzi firstInterimResponseStart odpowiada teraz czasowi pierwszej tymczasowej odpowiedzi, a responseStart – odpowiedzi końcowej, np. stanu 200.

Aktualizacja pliku „xml” obsługa prefiksów w lookupNamespaceURI() i createNSResolver()

Node.lookupNamespaceURI() obsługuje „xml” i „xmlns” domyślnie. Funkcja zwraca dla nich ciągi tekstowe o stałej przestrzeni nazw. Document.createNSResolver() i XPathEvaluator.createNSResolver() zatrzymują się, aby zawijać określony węzeł w celu dodania „xml” obsługę prefiksów. Zwracają podany węzeł w niezmienionej postaci. Programiści stron internetowych mogą teraz używać elementu jako komponentu XPathNSResolver bez dodawania go do atrybutu createNSResolver().

VisibilityStateEntry

Pokazuje stan widoczności (widoczny lub ukryty) na osi czasu skuteczności. Oś czasu zawsze zawiera wpis z wartością startTime o wartości 0 i początkowym stanem widoczności oraz wpisami odpowiadającymi każdej zmianie stanu widoczności.

WGSLLanguageFeatures dla WebGPU

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

Polecenia WebDriver do interakcji z oknami dialogowym FedCM

Udostępnia to kilka poleceń WebDriver, które umożliwiają automatyzację przeglądarki (np. testowanie automatyczne) w interakcji z oknami FedCM.

Trwa testowanie origin

W Chrome 115 możesz wyrazić zgodę na nowe testy origin opisane poniżej.

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ą znaleźć równowagę między wykorzystaniem dostępnej mocy obliczeniowej a trudnością do zarządzania systemem. Ciśnienie obliczeniowe to z założenia ogólne określenie. Obecnie jest ono obliczane na podstawie obciążenia procesora, ale w przyszłości plany będą uwzględniały na przykład sygnały z temperatury i stanu baterii. Więcej informacji znajdziesz w ogłoszeniu drugiego testu źródła ciśnienia w Compute.

Zarejestruj się, aby wziąć udział w testach origin ciśnienia w Compute.

Wyraźne wskazówki kompilacji z magicznymi komentarzami

Zezwalaj na dołączanie informacji o tym, które funkcje powinny być analizowane i skompilowane w pliki 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 gotowej kompilacji lub oznaczania tylko podzbioru funkcji.

Zarejestruj się, aby korzystać z wyraźnych instrukcji kompilacji w ramach testowania origin magicznych komentarzy

Interfejs API Long Animation Frames

Jest to rozszerzenie interfejsu Long Tasks API. Mierzy zadanie wraz z późniejszą aktualizacją renderowania, dodając informacje takie jak długotrwałe skrypty, czas renderowania oraz czas spędzony w wymuszonym układzie i stylu znanym jako thrashing układu. Deweloperzy mogą wykorzystać tę wiedzę w celu wykrywania „powolnego działania”, które mierzy się za pomocą wskaźnika Interakcja z następnym wyrenderowaniem (INP), wykrywając przyczyny zatoru w wątku głównym, które często są przyczyną nieprawidłowej wartości INP.

Zarejestruj się, aby wziąć udział w testowaniu origin długich klatek.

Interfejs Storage Buckets API

Zasobniki na dane umożliwiają witrynom tworzenie wielu zasobników na dane w celu porządkowania danych, co pozwala klientom użytkownika usuwać każdy zasobnik niezależnie od innych zasobników. Każdy zasobnik na dane może przechowywać dane powiązane z określonymi interfejsami API pamięci masowej, takimi jak IndexedDB i CacheStorage. Zarejestruj się w wersji próbnej origin interfejsu Storage Buckets API.

Wycofania i usuwanie

Ta wersja Chrome wprowadza informacje o wycofaniach i usunięciach wymienionych poniżej. Na ChromeStatus.com znajdziesz listy planowanych wycofania, obecnie wycofanych funkcji i wcześniejszych usunięć.

W tej wersji Chrome wycofujemy dwie funkcje.

Wycofanie reguły document.domain

Metoda ustawiająca document.domain jest wycofywana, ponieważ umożliwia deweloperom złagodzenie zasad dotyczących tego samego pochodzenia, co w efekcie komplikuje podstawową granicę bezpieczeństwa, którą chcemy utrzymywać, i przeszkadza w wprowadzaniu zmian w modelu procesów Chromium po spectre. Alternatywy dla metody document.domain znajdziesz na stronie Chrome wyłącza modyfikowanie parametru document.domain. W większości przypadków zastępcą pliku document.domain jest postMessage() lub Channel Messaging API z innej domeny. W ostateczności możesz włączyć domenę dokumentu za pomocą klastrów agentów ze źródłem jako kluczem. Metoda ustawiająca pozostanie bez zmian, ale pochodzenie pozostaje niezmienione.

Wycofaj zdarzenia 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 nieaktualnych zdarzeń mutacji należy przenieść do obserwatora mutacji przed ich usunięciem w Chrome 127 (20 lipca 2024 r.).

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