Chrome 125 w wersji beta

O ile nie wskazano inaczej, poniższe zmiany dotyczą najnowszych wersji beta Chrome w wersji beta na Androida, ChromeOS, Linuxa, macOS i Windowsa. Dowiedz się więcej o funkcjach wymienionych tutaj, korzystając z podanych linków lub z listy na ChromeStatus.com. Od 17 kwietnia 2024 r. wersja beta Chrome 125 jest dostępna w wersji beta. Najnowsze wersje możesz pobrać ze strony Google.com (na komputer) lub ze Sklepu Google Play na urządzeniu z Androidem. Wszystkie funkcje wersji stabilnej znajdziesz w informacjach o wersji.

CSS

W tej wersji dodaliśmy 2 nowe funkcje CSS i wprowadziliśmy 2 zmiany związane z usługą porównywania cen.

Pozycjonowanie zakotwiczonych elementów CSS

Pozycjonowanie zakotwiczenia CSS pozwala programistom w sposób deklaratywny powiązać element znajdujący się bezwzględnego elementu na stronie (kotwice) w sposób deklaratywny bez użycia JavaScriptu. Pozycjonowanie zakotwiczenia działa wydajnie, gdy można je przewijać. Typowym przypadkiem użycia jest umieszczenie wyskakującego okienka, np. etykietki, obok elementu, który go wywołał, lub menu wyboru i jego listy opcji w wyskakującym okienku. Przed wprowadzeniem funkcji pozycjonowania zakotwiczonych te przypadki użycia wymagały JavaScriptu do dynamicznego pozycjonowania wyskakującego okienka i utrzymywania go w tym samym miejscu, gdy element wywołujący się przewijał, co jest podstawą wydajności i trudno się było dopasować. Dzięki pozycjonowaniu zakotwiczonych te przypadki użycia mogą być wdrażane skutecznie i deklaratywnie.

Funkcja pozycjonowania zakotwiczenia składa się z wielu właściwości CSS. Oto kilka z nich:

  • anchor-name: konfiguruje element jako kotwicę w przypadku innych elementów.
  • position-anchor: opisuje domyślną kotwicę, której powinien używać zakotwiczony element do pozycjonowania.
  • Funkcja anchor(): służy do określenia pozycji elementu zakotwiczonego i określa położenie zakotwiczonego elementu.
  • inset-area: skrót odnoszący się do pozycjonowania popularnych pozycji względnych.

Funkcje wartości krokowe CSS – round(), mod() i rem()

Funkcje wartości krokowej round(), mod() i rem() przekształcają daną wartość zgodnie z inną „wartością kroków”.

Funkcja CSS round() zwraca zaokrągloną liczbę na podstawie wybranej strategii zaokrąglania.

Funkcja CSS mod() zwraca moduł pozostały, gdy pierwszy parametr jest podzielony przez drugi parametr, podobnie jak operator reszty JavaScriptu (%). Moduł to wartość pozostała, gdy jeden operand – dzielna – zostanie podzielona przez drugi operand – dzielnik. Zawsze używa znaku dzielnika.

Funkcja CSS rem() zwraca resztę, gdy pierwszy parametr jest podzielony przez drugi parametr, podobnie jak w przypadku operatora reszty JavaScriptu (%). Reszta to wartość pozostała po podzieleniu jednego argumentu (dzielna) przez drugi operand – dzielnik. To zawsze bierze znak dzielnika.

Usuń nieciągłość kolorów Oklab i Oklch z jasnością równą 100% lub 0

Przed tą zmianą wszystkie kolory Laboratorium, LCH, Oklab i Oklch o jasności 100% były renderowane jako białe, niezależnie od pozostałych 2 parametrów. Wszystkie kolory w tych przestrzeniach z wartością jasności 0 zostały wyrenderowane jako czarne. Te 2 mapowania spowodowały nieciągłości w gradientach i były nieoczekiwane dla programistów.

Po przywróceniu kolory te nie są już sztucznie mapowane, a wyświetlany kolor jest ciągły z bliskimi kolorami i zależy od mapowania gamy wyświetlacza.

Użyte główne paski przewijania schematu kolorów

Jeśli wartość „schematów kolorów obsługiwanych strony” jest „normalna” lub nie została określona, a obliczona wartość color-scheme elementu głównego wynosi normal, przeglądarka korzysta ze schematu kolorów preferowanego użytkownika do renderowania pasków przewijania widocznego obszaru. Paski przewijania w widocznym obszarze można uznać za poza treścią internetową. Dlatego też, jeśli programista nie określił wyraźnie obsługi schematów kolorów, klienty użytkownika podczas renderowania pasków przewijania widocznego obszaru powinny uwzględniać preferowany schemat kolorów użytkownika.

Ta zmiana nie uniemożliwia programistom kontrolowania schematu kolorów pasków przewijania. Nowe zachowanie powoduje, że przeglądarka korzysta z preferowanego przez użytkownika schematu kolorów do renderowania nienakładanych pasków przewijania widocznego obszaru tylko wtedy, gdy programista nie określił schematu kolorów elementu głównego.

HTML

Kontenery przewijania z możliwością zaznaczenia za pomocą klawiatury

Poprawia dostępność przez umożliwienie zaznaczenia kontenerów przewijania za pomocą sekwencyjnej nawigacji fokusu. Przed tą zmianą klawisz Tab nie umożliwia zaznaczenia elementów przewijających, chyba że tabIndex ma wyraźnie wartość 0 lub większą.

Dzięki temu, że użytkownicy, którzy nie mogą (lub nie chcą) korzystać z myszy, będą mogli zaznaczyć przycięte treści za pomocą klawisza Tab i klawiszy strzałek na klawiaturze. To zachowanie jest włączone tylko wtedy, gdy przewijany nie zawiera żadnych elementów podrzędnych, które można zaznaczyć za pomocą klawiatury.

Ta funkcja jest wdrażana w Chrome w wersji 124 i powinna być dostępna dla wszystkich użytkowników od wersji Chrome 125. Dowiedz się więcej o scrollach, które można wybrać za pomocą klawiatury.

Deklarowana serializacja cienia DOM

Funkcja umożliwiająca programistom serializowanie drzew DOM zawierających pierwiastki cienia, która została niedawno ujednolicona w standardzie HTML.

Internetowe interfejsy API

Zmiany w interfejsie Attribution Reporting API

Dodaliśmy funkcje do Attribution Reporting API, które zapewniają dodatkowe możliwości debugowania dzięki obsłudze raportów debugowania błędów analizy, poprawiają ergonomię interfejsu API dzięki obsłudze pola do określania preferowanej platformy rejestracji i poprawia ochronę prywatności.

Compute Pressure API

Compute Pressure API udostępnia stany wysokiego poziomu, które reprezentują obciążenie procesora w systemie. Umożliwia wdrożenie z użyciem odpowiednich podstawowych wskaźników sprzętowych, aby użytkownicy mogli korzystać z całej dostępnej mocy obliczeniowej, o ile system nie jest podatny na stres. Za projektowaniem i wdrażaniem tego interfejsu API odpowiadała firma Intel, dzięki której aplikacje do rozmów wideo dynamicznie zrównoważą funkcje i wydajność.

Akceptuj adresy URL HTTP(S) podczas tworzenia protokołu WebSocket

Ta aktualizacja włącza schematy HTTP w konstruktorze WebSocket, dzięki czemu deweloperzy mogą używać względnych adresów URL. Są one znormalizowane do schematów wewnętrznych ws: i wss:.

Spowoduje to uruchomienie proponowanego rozszerzenia interfejsu Storage Access API (zgodnego wstecznie, które jest w trakcie testowania origin), które umożliwia dostęp do plików cookie i innych plików cookie w kontekście osób trzecich. Obecny interfejs API zapewnia dostęp tylko do plików cookie, które mają inne przypadki użycia niż pliki cookie.

Wymagania CORS FedCM dotyczące punktu końcowego potwierdzenia identyfikatora

Trudno uzasadnić pobieranie danych przez interfejs FedCM API ze względu na wymagane właściwości. Chociaż toczy się dyskusja na temat punktu końcowego kont, panuje też w dużej mierze zgoda, że punkt końcowy potwierdzenia identyfikatora powinien używać CORS. Ta aktualizacja ściśle dopasowuje właściwości zabezpieczeń tego pobierania do innych operacji pobierania na platformie internetowej. Więcej informacji o tym, jak działają wymagania CORS, znajdziesz w aktualizacjach FedCM: test origin interfejsu Button Mode API, CORS i SameSite.

Domyślne działanie interoperacyjności przesuwania myszą

W Chrome można było anulować zdarzenia ruchu kursora myszy, aby zapobiec korzystaniu z innych interfejsów API, takich jak zaznaczanie tekstu (a nawet przeciąganie i upuszczanie elementów w przeszłości). Nie pasuje do innych popularnych przeglądarek ani specyfikacji zdarzeń interfejsu. Teraz zaznaczanie tekstu nie będzie już domyślnym działaniem polegającym na przesuwaniu myszą. Zaznaczanie tekstu oraz przeciąganie i upuszczanie można nadal blokować przez anulowanie zdarzeń selectstart i dragstart.

Aktualizacje interfejsu Shared Storage API

Ta aktualizacja dodaje obsługę uruchamiania workletów z innych domen bez konieczności tworzenia elementu iframe.

Aplikacje Chrome

Direct Sockets API w aplikacjach Chrome

Ta aktualizacja ułatwia przeniesienie wyspecjalizowanych aplikacji z aplikacji Chrome do izolowanych aplikacji internetowych przez włączenie bezpośrednich gniazd w aplikacjach Chrome, co pozwala aplikacjom internetowym nawiązywać komunikację bezpośrednio przy użyciu protokołu kontroli transmisji (TCP) i protokołu datagramu użytkownika (UDP) z urządzeniami sieciowymi i systemami.

Nowe wersje próbne origin

Od wersji Chrome 125 możesz włączyć te nowe próbne wersje próbne.

Interfejs FedCM Button Mode API i Use Other Account API

Ta wersja próbna origin obejmuje 2 opisane poniżej interfejsy API FedCM.

Interfejs Button Mode API pozwala witrynom wywoływać FedCM przez kliknięcie przycisku, na przykład po kliknięciu przycisku Zaloguj się w dostawcy tożsamości. Oznacza to, że FedCM musi gwarantować, że odpowiada zawsze z widocznym interfejsem, a nie w trybie widżetu, który nie wyświetla interfejsu po wylogowaniu się użytkownika. Wywołanie interfejsu FedCM API w trybie przycisku powoduje, że użytkownicy są zalogowani w dostawcy tożsamości (w oknie).

Poza tym tryb przycisku jest wywoływany w ramach wyraźnego gestu użytkownika, dlatego interfejs użytkownika może być bardziej widoczny (np. wyśrodkowany i modalny) niż interfejs z trybu widżetu (który nie ma takiego wyraźnego zamiaru). Więcej informacji o działaniu interfejsu Button Mode API znajdziesz w aktualizacjach FedCM: Testowanie origin interfejsu Button Mode API, CORS i SameSite

Interfejs Use Other Account API umożliwia dostawcy tożsamości zezwalanie użytkownikom na logowanie się na inne konta.

Zarejestruj się, aby wziąć udział w testowaniu origin FedCM.

Składane interfejsy API

Ta wersja próbna origin obejmuje interfejsy Device Posture API i Viewport Profiles Enumeration API. Te interfejsy API powstały po to, by pomóc programistom w kierowaniu reklam na urządzenia składane. Więcej informacji znajdziesz w artykule o testowaniu origin interfejsów API składanych.

Zarejestruj się do testowania origin interfejsów Foldable API.

Rezygnacja z podglądu multimediów

Ten test odwrotnego źródła wykluczy witryny z uruchamiania Podglądu multimediów.

Chrome zamierza udostępniać podgląd wejścia kamery i mikrofonu w czasie rzeczywistym w momencie, gdy witryny zażądają uprawnień do kamery i mikrofonu. Będą one też dostępne w informacjach o witrynie.

Poza tym użytkownicy korzystający z wielu urządzeń będą mogli wybrać kamerę i mikrofon, gdy pojawi się prośba o udzielenie uprawnień, chyba że witryna poprosi o konkretne urządzenie w systemie getUserMedia().

Tę funkcję tworzymy jednocześnie z innym projektem dotyczącym uprawnień – mechanizmem kontroli uprawnień umieszczanych na stronach (PEPC). Użytkownicy będą narażeni na kontakt z PEPC w ramach niezależnego procesu uruchamiania obejmującego osobne testy origin lub eksperymenty dotyczące konkretnej witryny.

Próba wycofania właściwości i metod pełnego ekranu HTMLVideoElement z prefiksem

Jeśli potrzebujesz więcej czasu na dostosowanie kodu, ten okres próbny wycofywania pozwala ponownie włączyć obsługę właściwości i metod HTMLVideoElement z przedrostkiem. Szczegółowe informacje o usuniętych właściwościach i metodach znajdziesz w sekcji Wycofania i usunięcia.

Zarejestruj się, aby wziąć udział w wycofaniu pełnego ekranu interfejsu Prefixed Video API.

Pomiń skanowanie wstępnego wczytywania

Pomija skaner wstępnego wczytywania w celu zbadania spadków wydajności w przypadku stron bez pobierania zasobów podrzędnych.

Ten krok skanera wstępnego ładowania poprawia wydajność stron z pobieraniem zasobów podrzędnych przez wdrożenie spekulatywnego pobierania z wyprzedzeniem. Jednak w przypadku stron, na których ten krok nie jest korzystny, czyli w przypadku stron bez zasobów podrzędnych, jest to dodatkowy nakład pracy przy minimalnym wkładzie pracy.

Zaawansowani użytkownicy internetu, którzy chcą ograniczyć to nakłady pracy, mogą w tym celu skorzystać z funkcji na poziomie strony, która umożliwia wyłączenie skanera wstępnego wczytywania. Dane zebrane w ramach tego eksperymentu pomogłyby nam ocenić, czy pomocny byłby zmodyfikowany interfejs API lub inne wdrożenie skanera wstępnego wczytywania HTML.

Zarejestruj się na testowanie origin skanowania pomijania.

Elementy wycofane i usunięte

Na stronie ChromeStatus.com znajdziesz listę planowanych wycofań oraz informacji o wycofaniach, które zostały już wycofane, i ich wcześniejsze usunięcia.

W tej wersji Chrome pozbyliśmy się 3 poniższych funkcji.

Usunięcie aliasu „window-placement” na potrzeby zasady uprawnień i uprawnień „window-management”

Usuwa alias „window-placement” dotyczący uprawnień i uprawnień „window-management”. To część działań mających na celu zmianę nazw ciągów tekstowych przez wycofanie i usunięcie właściwości „window-placement”. Zmiana terminologii wydłuża trwałość deskryptora w miarę ewoluowania interfejsu Window Management API.

Usunięcie zasady Enterprise: NewBaseUrlInheritanceBehaviorAllowed

Podstawowa zmiana kodu (włączenie nowego podstawowego dziedziczenia adresów URL), którą zastępowanie tej zasady firmy jest włączone, zostało włączone w stabilnych wersjach od sierpnia 2023 r. (118.0.5966.0). Ponieważ rozwiązaliśmy znane problemy, ta zasada przedsiębiorstwa zostanie usunięta w Chrome 125.

Usunięcie właściwości i metod pełnego ekranu HTMLVideoElement z prefiksem

Pełnoekranowe interfejsy API z prefiksem HTMLVideoElement zostały wycofane z Chrome 38. Została ona zastąpiona przez wersję Element.requestFullscreen(), która w 2018 r. została udostępniona bez prefiksu w Chrome 71.

Poniższe właściwości i metody zostaną usunięte z elementu HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (zwróć uwagę na inną wielkość liter w literach „S” na pełnym ekranie)
  • webkitExitFullScreen()

Zarejestruj się, by skorzystać z omówionego w tym poście okresu próbnego wycofywania, jeśli Twoja witryna nadal na nich opiera się i potrzebujesz więcej czasu na aktualizację kodu.