Chrome 127 w wersji beta

O ile nie zaznaczono inaczej, poniższe zmiany dotyczą najnowszej wersji kanału beta Chrome na systemy Android, ChromeOS, Linux, macOS i Windows. Więcej informacji o funkcjach Najnowszą wersję 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.

Dostosowywanie rozmiaru czcionki CSS

Właściwość CSS font-size-adjust umożliwia zmianę rozmiaru małych liter w odniesieniu do ich rozmiaru, co określa ogólny rozmiar czcionki. Ta właściwość przydaje się, gdy może się zdarzyć, że czcionka zostanie zastąpiona.

Chrome 127 zawiera składnię z 2 wartościami służącymi do przekazywania danych i wartości czcionki.

Tekst alternatywny z wieloma argumentami w treściach wygenerowanych przez CSS

Właściwość CSS content pozwala określić tekst alternatywny na potrzeby ułatwień dostępu. Użyj tej składni:

.has-before-content::before {
    content: url("cat.jpg") / "A cute cat";
  }

Widoczna składnia, w której tekst alternatywny jest podawany przez pojedynczy ciąg, jest już obsługiwana w Chrome. Od Chrome 127 tekst alternatywny może być określony przez dowolną liczbę elementów, które oprócz ciągów znaków mogą być funkcjami lub licznikami attr(). Na przykład:

.has-before-content::before {
  content: url("cat.jpg") / "A cute " attr(data-animal);
}

Pamiętaj, że ta funkcja nie obejmuje dodania kontroferty.

Obsługa przejść z widokiem danych w elementach iframe

W Chrome 127 dostępne będą równoczesne przejścia między widokiem tego samego dokumentu w ramce głównej a elementem iframe z tego samego źródła.

Wcześniej uruchomienie przejścia z widokiem przy użyciu interfejsu document.startViewTransition w elemencie iframe z tego samego źródła nie dało się działać, jeśli w tym samym czasie wykonywana była przejście w ramach głównej ramki. Przejście elementu iframe zostanie automatycznie pominięte. Teraz oba przejścia zostaną wykonane.

Obsługiwane są też przejścia w przypadku nawigacji między dokumentami z tej samej domeny w elemencie iframe.

Internetowe interfejsy API

Dodatki do raportów atrybucji

Chrome 127 zawiera 2 dodatkowe funkcje raportowania atrybucji. Zbiorcze raportowanie debugowania pozwala wywołującym interfejs API dalsze otrzymywanie informacji na potrzeby debugowania nawet po wycofaniu plików cookie innych firm. Zakresy atrybucji dają większą kontrolę nad filtrowaniem atrybucji.

Automatyczne ustawienie treści na pełnym ekranie

Nowe ustawienie treści „Automatyczny pełny ekran” pozwala administratorom firmy zezwolić witrynom na włączanie pełnego ekranu bez gestu użytkownika. Użytkownicy mogą też zezwolić na używanie tej funkcji izolowanym aplikacjom internetowym na stronach ustawień witryny.

W połączeniu z uprawnieniami do zarządzania oknami i odblokowanymi wyskakującymi okienkami zyskujesz cenne funkcje pełnoekranowe:

  • Otwieraj wyskakujące okienka na innym ekranie za pomocą jednego gestu.
  • Pokazuj treści na pełnym ekranie na wielu ekranach jednym gestem.
  • Pokazuj treści na pełnym ekranie na nowym wyświetlaczu, gdy jest on podłączony.
  • Przełączaj okna pełnoekranowe między wyświetlaczami jednym gestem.
  • Pokazuj treści na pełnym ekranie po wygaśnięciu lub użyciu gestu użytkownika.

Bit łańcucha elementów nadrzędnych w innych witrynach na potrzeby elementu CookiePartitionKey partycjonowanych plików cookie

Chrome 127 dodaje bit elementu nadrzędnego między witrynami do pęku kluczy CookiePartitionKey partycjonowanego pliku cookie. Ta zmiana ujednolici klucz partycji z wartościami klucza partycji używanymi przy partycjonowaniu miejsca na dane i zwiększa ochronę przed atakami typu clickjack, blokując dostęp do plików cookie partycjonowanych witryny najwyższego poziomu klatkom umieszczonym w innych witrynach.

Jeśli w firmie wystąpią problemy z osadzonymi elementami iframe, może użyć zasady CookieAllowedForUrls lub użyć pliku cookie SameSite=None bez atrybutu Partitioned, a następnie wywołać interfejs Storage Access API (SAA), aby upewnić się, że osadzone elementy iframe mają dostęp do tych samych plików cookie co domena najwyższego poziomu.

Obraz w obrazie dokumentu: propagowanie aktywacji użytkowników

Dzięki temu aktywacje użytkowników w oknie obrazu w obrazie dokumentu mogą być używane zarówno w oknie otwierającym, jak i odwrotnie. Dzięki temu korzystanie z interfejsów API wymagających aktywacji przez użytkownika jest bardziej ergonomiczne, ponieważ często moduły obsługi zdarzeń w oknie obrazu w dokumencie są uruchamiane w kontekście elementu otwierającego, a kontekst otwierającego wymaga dostępu do gestu użytkownika.

Integralność mapy importu

Zaimportowane moduły ES nie mogą obecnie być sprawdzane, dlatego nie mogą działać w środowiskach wymagających integralności zasobów podrzędnych ani z dyrektywami CSP require-sri-for.

Ta funkcja dodaje sekcję integrity do importowania map, dzięki czemu deweloperzy mogą mapować adresy URL modułów ES do metadanych integralności i mieć pewność, że wczytują się tylko wtedy, gdy są zgodne z oczekiwanymi haszami.

Kontenery przewijania możliwe do zaznaczenia za pomocą klawiatury

Ta funkcja wprowadza te zmiany:

Domyślnie przewijanie można automatycznie zaznaczać kliknięciem oraz automatycznie. Domyślnie przewijanie bez elementów podrzędnych, które można zaznaczyć, można zaznaczyć przy użyciu klawiatury.

To ważne ulepszenie, dzięki któremu osoby przewijające i treści w nich będą bardziej dostępne dla wszystkich użytkowników. Więcej o zaletach tej funkcji dowiesz się w poście na temat przewijanych elementów za pomocą klawiatury. Od wersji Chrome 127 elementy przewijające, które można zaznaczyć na klawiaturze, będą domyślnie włączone. Jeśli witryny potrzebują czasu, aby dostosować się do nowej funkcji, masz kilka możliwości:

Obsługa wstępnego renderowania No-Vary-Search

Rozszerza obsługę No-Vary-Search o renderowanie wstępne oprócz wcześniejszej obsługi pobierania z wyprzedzeniem. Dzięki temu wpis renderowania z wyprzedzeniem będzie dopasowywany nawet wtedy, gdy zmienią się niektóre parametry zapytania w adresie URL. Nagłówek odpowiedzi HTTP No-Vary-Search deklaruje, że niektóre lub wszystkie części zapytania adresu URL mogą być ignorowane na potrzeby dopasowywania do pamięci podręcznej.

Przyciągaj zdarzenia

Zdarzenia przyciągania pozwalają deweloperom w niezawodny sposób nasłuchiwać zmian celu zrzutu i wprowadzać korekty stylu.

Punkty przyciągania przewijania CSS są często używane jako mechanizm do tworzenia interaktywnych komponentów wyboru przewijania, w którym wybór jest określany przez obserwatorów interakcji JavaScript i przypadkowo określa końcową wartość przewijania. Po utworzeniu zdarzeń wbudowanych stan niewidoczny staje się podstawą do działania, we właściwym czasie i zawsze prawidłowy.

Ta funkcja dodaje 2 zdarzenia JavaScript: scrollsnapchange i scrollsnapchanging. Zdarzenie scrollsnapchange informuje deweloperów po zakończeniu operacji przewijania (w tym przyciągania) o zmianie elementu, do którego przyciągnięto element przewijany. Zdarzenie scrollsnapchanging informuje programistów podczas operacji przewijania, że klient użytkownika zamierza przyciągnąć kontener przewijania do nowego elementu przyciągającego, bazując na dotychczasowych informacjach podczas przewijania.

Rozdział filmu: MediaMetadata

Do metadanych multimediów możesz teraz dodać informacje o poszczególnych rozdziałach, takie jak tytuł sekcji, jej sygnatura czasowa i obraz zrzutu ekranu. Umożliwia to użytkownikom poruszanie się po multimediach.

Ta funkcja będzie widoczna tylko w powiadomieniach o multimediach w ChromeOS – nie będzie widoczna w globalnych opcjach sterowania multimediami w przeglądarce Chrome.

WebGPU: atrybut informacji karty GPU

Dodaje synchroniczny atrybut informacji GPUAdapter, aby pobierać te same informacje o adapterze fizycznym co w przypadku asynchronicznej metody GPUAdapter requestAdapterInfo().

Trwa testowanie origin

W Chrome 127 możesz włączyć te nowe okresy próbne źródła.

Transport słownika kompresji za pomocą Shared Brotli i Shared Zstandard

Ta funkcja dodaje obsługę używania wyznaczonych wcześniejszych odpowiedzi jako zewnętrznego słownika na potrzeby odpowiedzi HTTP kompresujących Brotli (lub Zstandard).

Wycofaj 0.0.0.0 na potrzeby dostępu do sieci prywatnej (PNA)

Proponujemy zablokowanie dostępu do adresu IP 0.0.0.0 przed całkowitym wdrożeniem PNA.

Chrome wycofuje bezpośredni dostęp do punktów końcowych sieci prywatnej z witryn publicznych zgodnie ze specyfikacją PNA. W tej specyfikacji uznaje się, że usługi nasłuchujące na hoście lokalnym (127.0.0.0/8) są uznawane za prywatne. Ochrona PNA w Chrome (wdrożona w ramach https://chromestatus.com/feature/5436853517811712) można pominąć przy użyciu adresu IP 0.0.0.0, aby uzyskać dostęp do usług nasłuchujących na serwerze lokalnym w systemach macOS i Linux.

Może być też użyty do ataków typu rebining DNS wymierzonych w aplikację internetową nasłuchującą na hoście lokalnym.

Ponieważ 0.0.0.0 nie jest (i nie powinno być) używany w praktyce, wycofujemy go niezależnie od pozostałych żądań sieci prywatnej.

Wycofanie plików cookie innych firm

Zamierzamy wycofać i usunąć domyślny dostęp do plików cookie innych firm (czyli plików cookie z innych witryn), aby rozpocząć okres testowania na poziomie 1% w I kwartale 2024 r., a następnie stopniowo rozpocząć ten proces w I kwartale 2025 r., uwzględniając ewentualne obawy związane z konkurencją, które zgłosił brytyjski Urząd ds. Konkurencji i Rynków.

Wycofywanie plików cookie innych firm to główny cel inicjatywy Piaskownica prywatności, której celem jest odpowiedzialne ograniczenie śledzenia w internecie (i nie tylko) przy jednoczesnym wspieraniu kluczowych przypadków użycia za pomocą nowych technologii.

Interfejsy API partycjonowania pamięci masowej, Service Workers i komunikacji

Od wersji Chrome 115 środowisko pamięci masowej, mechanizmy Service Worker i interfejsy API do komunikacji są partycjonowane w kontekście zewnętrznym. W wersjach Chrome 113–126 witryny mogły wziąć udział w testach wycofywania, aby tymczasowo rozdzielić i przywrócić wcześniejsze działanie pamięci, mechanizmów Service Worker i interfejsów API do komunikacji.

Od Chrome 125 obsługiwane jest przechowywanie danych inne niż pliki cookie za pomocą interfejsu Storage Access API, co powinno rozwiązać większość przypadków użycia pamięci bez partycji. Jeśli te przypadki użycia nie są spełnione, możesz teraz poprosić o przedłużenie okresu próbnego wycofania wersji DisableThirdPartyStoragePartitioning dla użytkowników Chrome w wersjach od 127 do 132 (włącznie).

Więcej informacji znajdziesz w poście na blogu o wycofaniu okresu próbnego partycjonowania miejsca na dane.

Okres próbny wycofania kontenerów przewijania, które można zaznaczyć za pomocą klawiatury

Ta funkcja wprowadza te zmiany:

  • Domyślnie przewijanie można automatycznie zaznaczać kliknięciem oraz automatycznie.
  • Domyślnie przewijanie bez elementów podrzędnych, które można zaznaczyć, można zaznaczyć przy użyciu klawiatury.

Próbowaliśmy wprowadzić te zmiany i zauważyliśmy, że część właścicieli witryn nie spełnia oczekiwań dotyczących niektórych komponentów. Aby uniknąć takiej awarii, musieliśmy wyłączyć tę funkcję. Ze względu na korzyści udostępniamy tę funkcję w 127 r. Aby dać witrynom, których dotyczy ten problem, więcej czasu na przeniesienie komponentów, rozpoczynamy okres próbny wycofywania. Jeśli ją włączysz, funkcja zostanie wyłączona.

Wycofania i usuwanie

Ta wersja Chrome wprowadza informacje o wycofaniach i usunięciach wymienionych poniżej. Na ChromeStatus.com znajdziesz listy zaplanowanych wycofywania funkcji, aktualnych wycofywania funkcji i wcześniejszych usunięć.

W tej wersji Chrome usunięto 3 funkcje.

Zdarzenia mutacji

Od wersji Chrome 127 obsługa zdarzeń mutacji będzie domyślnie wyłączona. Aby uniknąć uszkodzenia witryny, kod należy przenieść przed tą datą. Jeśli potrzebujesz więcej czasu, masz do wyboru kilka opcji:

Więcej informacji znajdziesz w poście na blogu na temat wycofywania zdarzeń mutacji.

Ograniczanie „prywatnych żądań sieci” dotyczących zasobów podrzędnych z witryn publicznych do bezpiecznego kontekstu

Wymaga, aby żądania sieci prywatnych dotyczące zasobów podrzędnych z witryn publicznych mogły być inicjowane tylko z bezpiecznego kontekstu. Mogą to być na przykład żądania z internetu do intranetu i żądania zapętlania się internetu.

To pierwszy krok na drodze do pełnego wdrożenia dostępu do sieci prywatnej.

Usuwanie starej składni niestandardowego stanu CSS

Zmieniamy nazwę pseudoklasy niestandardowego stanu CSS z :--foo na :state(foo). Nowa składnia (:state(foo)) jest domyślnie włączona, dlatego usuwamy składnię :--foo.

W przeglądarkach Firefox i Safari nigdy nie wdrażały starej składni, a w obu z nich pojawiły się nowe.

Klienci biznesowi, którzy potrzebują więcej czasu, mogą użyć zasady CSSCustomStateDeprecatedSyntaxEnabled. Ta zasada zostanie usunięta w Chrome 131.