Wycofania i usuwania interfejsów API w Chrome 57

Joe Medley
Joe Medley

Niemal w każdej wersji Chrome widzimy dużą liczbę aktualizacji ulepszenia usługi, jej wydajności, a także możliwości internetu Platforma. Ten artykuł opisuje wycofane i usunięcia z Chrome 57, która jest dostępna w wersji beta od początku lutego. Ta lista może w dowolnym momencie ulec zmianie. obecnie się znajdujesz.

Usuń atrybut BluetoothDevice.uuids

Usuwam atrybut BluetoothDevice.uuids, aby przywrócić Web Bluetooth API w zgodne z aktualną specyfikacją. Możesz pobrać wszystkie dozwolone usługi GATT, wywołując device.getPrimaryServices().

Błąd Chromium

Usuń element generowania klucza

Od wersji Chrome 49 domyślnym działaniem <keygen> jest zwracanie pustej wartości ciągu tekstowego, chyba że stronie zostało przyznane uprawnienie. IE/Edge nie obsługują <keygen> i nie wskazali sygnałów publicznych na potrzeby obsługi standardu <keygen>. Firefox blokuje już <keygen> za pomocą gestu użytkownika, ale jest publicznie dostępny które zachęcą do ich usunięcia. Safari wysyła wiadomość o statusie <keygen>, ale użytkownik nie wyraził zgody opinii publicznych na temat jego ciągłego wsparcia. W Chrome 57 ten element została usunięta.

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

Usuń interfejs API zarządzania buforem czasu zasobów z prefiksem

Dwie metody oraz moduł obsługi zdarzeń webkitClearResourceTimings(), webkitSetResourceTimingBufferSize() i onwebkitresourcetimingbufferfull są nieaktualne i specyficzne dla danego dostawcy. standardowych wersji tych interfejsów API. były obsługiwane od Chrome 46, a funkcje z prefiksami były wycofane także w tej wersji. Funkcje te były pierwotnie dostępne są zaimplementowane w WebKit, ale nie w przeglądarce Safari. Firefox, IE 10 i nowsze oraz Edge ma tylko wersję interfejsu API bez prefiksu. Dlatego wersje webkit są usuwane.

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

Usunięto element ServiceWorkerMessageEvent na rzecz MessageEvent

Specyfikacja HTML rozszerzyła atrybut MessageEvent o możliwość ServiceWorker jako typu w atrybucie source. client.postMessage() i tworzenie wiadomości niestandardowej Zdarzenia są zmienione na MessageEvent zamiast ServiceWorkerMessageEvent. Usunięto ServiceWorkerMessageEvent.

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

Usuń globalne aliasy IndexedDB z prefiksem webkit

Punkt wejścia IndexedDB i konstruktory globalne zostały udostępnione za pomocą atrybutu webkit w okolicach Chrome 11. Wersje bez prefiksu zostały dodane tutaj: Przeglądarka Chrome 24 i wersje z prefiksem zostały wycofane z Chrome 38. te interfejsy:

  • webkitIndexedDB (główny punkt wejścia)
  • webkitIDBKeyRange (niemożliwy do wywołania globalny konstruktor, ale zawiera przydatne metody statyczne)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (konstruktory globalne, których nie można wywołać)

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

WebAudio: usuwanie kontekstu AudioContext i OfflineAudioContext

Przeglądarka Chrome obsługuje język WebAudio od połowy 2011 roku, w tym AudioContext. W kolejnym roku dodano OfflineAudioContext. Biorąc pod uwagę okres standardu a długoterminowym celem Google jest usunięcie , wersje tych interfejsów z prefiksami zostały wycofane od pod koniec 2014 roku i są teraz usuwane.

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

Wycofaj i usuń webkitRequestRequestAnimationFrame

Metoda webkitCancelRequestAnimationFrame() jest przestarzała, specyficzny dla dostawcy, a standardowy cancelAnimationFrame() wymagał są obsługiwane w Chromium. Dlatego wersja webkit jest usuwana.

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

Wycofanie dopasowania bez rozróżniania wielkości liter dla atrybutu usemap

Atrybut usemap był wcześniej zdefiniowany jako bez wielkości liter. Niestety Wdrożenie było na tyle skomplikowane, że żadna przeglądarka nie wdrożyła go . Badania wykazały, że tak skomplikowany algorytm jest zbędny, nie jest w nim nawet rozróżniana wielkość liter.

W związku z tym specyfikacja została zaktualizowana, aby uwzględniać wielkość liter zastosowano. Stare działanie zostało wycofane w Chrome 57 i powinno zostać usunięte za Chrome 58.

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

Wycofywanie FileReaderSync w instancjach roboczych usługi

Specyfikacja skryptu Service Worker zawsze mieliśmy uwagę (nienormatyczną) Rodzaj żądań synchronicznych nie może być inicjowany w obrębie usługi Worker”, aby uniknąć blokowania skryptu service worker. Blokowanie skryptu service worker spowoduje zablokowanie wszystkich żądań sieciowych z kontrolowanych stron. Niestety, Interfejs FileReaderSync API jest od dawna dostępny w skryptach service worker.

Obecnie tylko Firefox i Chrome ujawniają FileReaderSync w mechanizmach Service Worker. W dyskusji na temat specyfikacji znajduje się akceptacja dostawców Firefoksa. że trzeba to naprawić. W Chrome 59 spodziewamy się usunięcia treści.

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

Wycofanie starszej wersji wywołującej elementy HTMLEmbedElement i HTMLObjectElement

To, że interfejs ma starszą funkcję wywołującą, oznacza, że instancję można wywołać jako . Obecnie HTMLEmbedElement i HTMLObjectElement obsługują tę funkcję funkcji. W Chrome 57 ta możliwość została wycofana. Po usunięciu, czyli oczekiwany w Chrome 58, wywołanie zwróci wyjątek.

Ta zmiana pozwala dostosować Chrome do ostatnich zmian w specyfikacjach. Starsze działanie nie jest obsługiwana w Edge ani Safari i jest usunięto z Firefoksa.

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

Wycofanie RTCRtcpMuxPolicy z możliwością „negocjowania”

Parametr rtcpMuxPolicy jest używany przez Chrome do określania preferowanych zasad dotyczących przy użyciu multipleksowania RTP/RTCP. W Chrome 57 zmieniliśmy ustawienie domyślne rtcpMuxPolicy, aby „wymagać” i wycofaliśmy negocjację z następujących powodów:

  • Niespróbkowany protokół RTCP wykorzystuje dodatkowe zasoby sieciowe.
  • Usuwam słowo „negocjacja” uprościmy interfejs API, &quot;RtpSender&quot;/&quot;RtpReceiver&quot; będzie mieć tylko jeden środek transportu.

„Negocjowanie” w Chrome 57 został wycofany. Uważamy, że ta zmiana nie zostanie cofnięta. bo użytkownik otrzyma komunikat o wycofaniu, a RTCPeerConnection nadal będzie mógł przez Google. Usuwanie jest dostępne w Chrome 63.

Zamiar wycofania | Błąd Chromium

Wycofanie obsługi osadzonych danych logowania w żądaniach zasobów podrzędnych

Kodowanie danych logowania na stałe w żądaniach zasobów podrzędnych sprawia, że w przypadku bezpieczeństwa, ponieważ hakerzy mogli wykorzystywać dane uwierzytelniające metodą brute-force w przeszłości. Te zagrożenia są szczególnie niebezpieczne w przypadku żądań zasobów podrzędnych z danymi uwierzytelniającymi które sięgają do zakresów wewnętrznych adresów IP (routerów itp.). Ze względu na niewielkie wykorzystanie zamykanie tej (małej) dziury w zabezpieczeniach wydaje się całkiem rozsądne.

Programiści mogą umieszczać zasoby, które nie wymagają uwierzytelniania podstawowego/skrótowego, a nie w plikach cookie i innych mechanizmach zarządzania sesjami.

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