Elementy wycofane i usunięte w Chrome 70

Jan Kowalski
Joe Medley

.

Usunięcia

Usuwanie pamięci podręcznej aplikacji z niezabezpieczonych kontekstów

W przypadku użycia w niezabezpieczonych kontekstach AppCache potencjalnie umożliwia trwałe ataki typu cross-site scripting (online i offline). To poważny problem w stosunku do zwykłych skryptów w różnych witrynach.

Aby ograniczyć to zagrożenie, pamięć podręczna aplikacji jest teraz obsługiwana tylko w przypadku źródeł, które obsługują protokół HTTPS.

Deweloperzy szukający alternatywy dla AppCache powinni korzystać z skryptów service worker. Aby ułatwić sobie to przejście, udostępniamy eksperymentalną bibliotekę.

Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium

Usuń anonimową metodę pobierania z HTMLFrameSetElement

Anonimowa metoda pobierania dla HTMLFrameSetElement jest niestandardowa i dlatego zostanie usunięta. Ta funkcja została dodana 13 lat temu, aby rozwiązać istniejący problem ze zgodnością, który jednak obecnie się nie pojawia. Jest to niestandardowa funkcja, dla której nie mamy dla Ciebie żadnych alternatyw. Wykorzystanie jest na tyle niewielkie, że nie przewidujemy, że będzie to problemem.

Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium

Wycofaj funkcję Gamepads.item() i usuń ją

Starsze akcesory item() są usuwane z tablicy Gamepads. Ta zmiana zwiększa zgodność z przeglądarką Firefox, która jest jak dotąd jedyną przeglądarką, w której zaimplementowano GamepadList.

Narzędzie do śledzenia stanu Chrome | Błąd Chromium

Elementy wycofane

Wycofanie elementów niestandardowych w wersji 0

Elementy niestandardowe to technologia komponentów sieciowych, która umożliwia tworzenie nowych tagów HTML, ulepszanie istniejących tagów i rozszerzanie komponentów utworzonych przez innych programistów. Elementy niestandardowe w wersji 1 są wdrażane w Chrome od wersji 54, która pojawiła się w październiku 2016 r. Była to wersja eksperymentalna nie zaimplementowana w innych przeglądarkach. W związku z tym jest ona wycofywana i w okolicach lutego 2020 r. zostanie usunięta w Chrome 80.

Intencje do wycofania | Narzędzie do śledzenia stanu Chrome | Błąd Chromium

Zrezygnuj z importów HTML

Importy HTML umożliwiają importowanie kodu HTML z jednego dokumentu do innego. Była ona częścią wczesnych, eksperymentalnych wersji komponentów sieciowych, nie zaimplementowanych w innych przeglądarkach. W związku z tym jest wycofywana i w okolicach kwietnia 2019 r. można usunąć ją w Chrome 73. Witryny zależne od importu kodu HTML wymagają już użycia kodu polyfill w przeglądarkach innych niż Chromium. Po usunięciu importu kodu HTML witryny z kodem polyfill powinny nadal działać w Chrome.

Intencje do wycofania | Narzędzie do śledzenia stanu Chrome | Błąd Chromium

Wycofanie modelu Shadow DOM v0

DOM Shadow DOM to technologia komponentów sieciowych, która używa w elementach poddrzew o zakresie ograniczonym. Model Shadow DOM v1 jest zaimplementowany w Chrome od wersji 53, która pojawiła się w sierpniu 2016 r. Model Shadow DOM v0 to wersja eksperymentalna nie zaimplementowana w innych przeglądarkach. W związku z tym jest wycofywana i w okolicach kwietnia 2019 r. można usunąć ją w Chrome 73. Witryny w zależności od modelu Shadow DOM w wersji 0 wymagają już użycia kodu polyfill w przeglądarkach innych niż Chromium. Po usunięciu importu kodu HTML witryny z kodem polyfill powinny nadal działać w Chrome.

Intencje do wycofania | Narzędzie do śledzenia stanu Chrome | Błąd Chromium

Wycofanie interfejsu SpeechSynthesis.speak() bez aktywacji użytkownika

Interfejs SpeechSynthesis jest obecnie nadużywany w internecie. Istnieją pewne dowody na to, że ze względu na zamknięcie innych opcji autoodtwarzania, nadużycia przenosi się do interfejsu Web Speech API, który nie jest zgodny z regułami autoodtwarzania.

Funkcja speechSynthesis.speak() zwraca teraz błąd, jeśli dokument nie został aktywowany przez użytkownika. Usunięcie powinno nastąpić w Chrome 71 pod koniec listopada.

Intencje do wycofania | Narzędzie do śledzenia stanu Chrome | Błąd Chromium

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 sprawdziły się w innych przeglądarkach, dzięki czemu mogą zwiększyć obciążenie pomocy dla programistów stron internetowych.

Niektóre z tych zmian będą miały wpływ na niewielką liczbę witryn. Aby zapobiec problemom z wyprzedzeniem, staramy się powiadamiać o tym deweloperów, aby mogli wprowadzić niezbędne zmiany i utrzymać działanie witryny.

W Chrome obecnie dostępny jest proces wycofywania i usuwania interfejsów API. Ogólnie obejmuje on następujące zasady:

  • Ogłoszenie na liście adresowej blink-dev.
  • Gdy na stronie zostanie wykryte użycie danych, w konsoli Narzędzi deweloperskich w Chrome ustaw ostrzeżenia i podaj skalę czasu.
  • Zaczekaj, monitoruj, a potem usuń tę funkcję w miarę spadku wykorzystania.

Listę wszystkich wycofanych funkcji znajdziesz na chromestatus.com za pomocą wycofanego filtra , a usuniętych funkcji – usuniętego filtra. W tych postach spróbujemy też podsumować niektóre zmiany, rozumowanie i ścieżki migracji.