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.
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.