Przeglądarka Chrome 99 została opublikowana 3 lutego 2022 roku. Przewiduje się, że na początku marca 2022 r. stanie się wersją stabilną.
Usunięcie interfejsu Battery Status API w niezabezpieczonych źródłach
Interfejs Battery Status API nie jest już obsługiwany w przypadku niezabezpieczonych źródeł, takich jak strony HTTP lub elementy iframe HTTPS umieszczone na stronach HTTP. Interfejs Battery Status API umożliwia deweloperom internetowym dostęp m.in. do informacji o poziomie naładowania baterii w systemie oraz o tym, czy jest ona ładowana. To zaawansowana funkcja dostępna od ponad 10 lat, dlatego została pierwotnie zaprojektowana z uwzględnieniem różnych ograniczeń związanych z bezpieczeństwem.
Usuń rodzinę czcionek -webkit-standard
W tej wersji Chrome wycofano obsługę wartości font-family
"-webkit-standard"
.
Ta wartość jest tylko aliasem zastrzeżonego słowa kluczowego "-webkit-body"
i jest widoczna tylko dlatego, że jest dziedziczona z WebKit. Usunięcie tej opcji zapewnia zgodność ze specyfikacjami CSS i przeglądarkami Firefox.
Usuń listę GamepadList
Metoda navigator.getGamepads()
zwraca teraz tablicę obiektów Gamepad
zamiast GamepadList.
Polecenie GamepadList
nie jest już obsługiwane w Chrome. Dzięki temu Chrome jest zgodny ze specyfikacjami
oraz z Gecko i Webkit. Ogólne informacje o padach do gier znajdziesz w artykule Gra z dinozaurem w Chrome na padzie do gier.
Zaktualizuj kodeki WebCodecs zgodnie ze specyfikacją
Z powodu ostatnich zmian w specyfikacji WebCodecs usunęliśmy z Chrome 2 elementy.
Metoda EncodedVideoChunkOutputCallback()
korzysta ze słownika EncodedVideoChunkMetadata
. Wcześniej użytkownik o nazwie temporalLayerId
znajdował się w tym miejscu: EncodedVideoChunkMetadata.temporalLayerId
. Zgodnie ze specyfikacją znajduje się obecnie EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId
.
Specyfikacja wymaga, aby konstrukt VideoFrame()
zawierał argument sygnatury czasowej (VideoFrameInit.timestamp
) dla typów CanvasImageSource
, które nie mają domyślnie sygnatury czasowej (np. HTMLCanvasElement
). Jeśli nie uwzględniono sygnatury czasowej, powinna pojawić się wartość TypeError
, ale Chrome wcześniej ustawił domyślną wartość czasu na 0. Wydaje się to pomocne, ale problematyczne może być, jeśli wyślesz VideoFrame
do urządzenia VideoEncoder
, gdzie do kontrolowania szybkości transmisji bitów służą sygnatury czasowe.
Zasady wycofywania
Aby zapewnić prawidłowe działanie platformy, czasami usuwamy z niej interfejsy API, które działają zgodnie z oczekiwaniami. Jest wiele powodów, dla których możemy usunąć interfejs API, na przykład:
- Zastąpią je nowsze interfejsy API.
- Są one aktualizowane w sposób odzwierciedlający zmiany w specyfikacjach w celu zapewnienia zgodności i spójności z innymi przeglądarkami.
- Są to wczesne eksperymenty, które nigdy nie zadziałały w innych przeglądarkach, przez co mogą zwiększyć pracochłonność pomocy programistów.
Niektóre z tych zmian będą miały wpływ na niewielką liczbę witryn. Aby zapobiegać takim sytuacjom z wyprzedzeniem, staramy się powiadamiać o tym deweloperów, aby mogli wprowadzić niezbędne zmiany i utrzymać działanie witryny.
W Chrome obowiązuje obecnie proces wycofywania i usuwania interfejsów API. Ogólnie rzecz biorąc:
- Ogłoszenie na liście adresowej blink-dev.
- Gdy na stronie zostanie wykryte użycie, w konsoli Narzędzi deweloperskich w Chrome możesz ustawić ostrzeżenia i podać skalę czasu.
- Zaczekaj, monitoruj, a potem usuń tę funkcję w miarę spadku wykorzystania.
Listę wszystkich wycofanych funkcji znajdziesz na stronie chromestatus.com za pomocą wycofanego filtra, a usunięte funkcje – usuniętego filtra. Postaramy się też w nich podsumować niektóre zmiany, rozumowanie i ścieżki migracji.