Wycofania i usunięcia w Chrome 59

Jan Kowalski
Joe Medley

W niemal każdej wersji Chrome obserwujemy znaczną liczbę aktualizacji i ulepszeń produktu, jego wydajności, a także możliwości platformy internetowej. W tym artykule opisujemy wycofywanie i usuwanie przeglądarki Chrome 59, która od 27 kwietnia znajduje się w wersji beta. Ta lista może się w każdej chwili zmienić.

Tymczasowo wyłącz funkcję navigator.sendBeacon() dla niektórych obiektów blob

Funkcja navigator.sendBeacon() jest dostępna od Chrome 39. Zgodnie z pierwotną implementacją argument data funkcji może zawierać dowolny dowolny obiekt blob, którego typ nie jest na liście bezpiecznych adresów CORS. Uważamy, że jest to potencjalne zagrożenie, choć jeszcze nikt nie próbował go wykorzystać. Nie możemy natychmiastowo rozwiązać tego problemu, dlatego tymczasowo nie można wywołać funkcji sendBeacon() w przypadku obiektów blob, których typ NIE jest na liście bezpiecznych CORS.

Ta zmiana została wdrożona w Chrome 60, ale została już scalona z Chrome 59.

Błąd Chromium

Usuwanie z WebVR funkcji, które nie znajdują się w zmienionej specyfikacji

Obecna implementacja WebVR, pierwotnie wdrożona w Chrome 52, zawierała kilka metod i właściwości, których nie będzie w końcowej specyfikacji. Komunikaty o wycofaniu tych funkcji zostały dodane do tych funkcji w wersji próbnej origin, która rozpoczęła się w Chrome 56. Te funkcje są obecnie usuwane. Oto one:

  • VRDisplay.getPose()
  • VRDisplay.resetPose()
  • VRDisplay.isConnected
  • VRDisplayCapabilities.hasOrientation
  • VREyeParameters.fieldOfView

Zamiar eksperymentu | Narzędzie do śledzenia stanu Chrome | Błąd Chromium | Wyniki testowania origin

Usuwanie pliku FileReaderSync z instancji roboczych service worker

Specyfikacja skryptu service worker zawsze zawiera (nienormatywne) stwierdzenie, że „żądania synchronicznego typu nie mogą być inicjowane w skrypcie service worker”, by uniknąć zablokowania tego skryptu (ponieważ zablokowanie tego skryptu spowoduje zablokowanie wszystkich żądań sieciowych z kontrolowanych stron). Synchroniczne interfejsy API, takie jak FileReaderSync, były jednak nadal dostępne w skryptach service worker. Interfejs FileReaderSync został wycofany z Chrome 57. Jest ona usuwana w Chrome 59.

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

Usuwanie niestandardowych funkcji inicjowania zdarzeń DeviceOrientation

Od jakiegoś czasu zachodzi trend w korzystaniu z interfejsów API przeglądarek do przechodzenia od funkcji inicjowania i od konstruktorów obiektów. Najnowsza wersja specyfikacji zdarzeń DeviceOrientation jest zgodna z tym trendem, ponieważ wymaga konstruktorów zarówno dla DeviceOrientationEvent, jak i DeviceMotionEvent.

Ze względu na to, że Chrome domyślnie włącza te konstruktory w Chrome 59, starsze funkcje inicjowania też są usuwane, więc initDeviceMotionEvent() i initDeviceOrientationEvent() są usuwane. W przeglądarce Edge wycofano funkcje inicjowania, a te konstruktory zostały już dostarczone w przeglądarce Firefox.

Intencja usunięcia | Błąd Chromium

Usunięcie wartości „na żądanie” z zapytań o multimedia po najechaniu kursorem myszy

Mniej więcej rok temu wartość „na żądanie” dla zapytań o media po najechaniu kursorem myszy została usunięta ze specyfikacji. W związku z tym zapytania o multimedia są usuwane w Chrome 59.

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

Usuń plik MediaStreamTrack.remote

W Chrome 48 dodano właściwość MediaStreamTrack.remote, która obsługuje interfejs Media Capture and Streams API, aby umożliwić JavaScriptowi sprawdzenie, czy WebRTC (MediaStreamTrack) pochodzi ze źródła zdalnego czy lokalnego.

Od tego czasu ta właściwość została usunięta ze specyfikacji. Od Chrome 59 nie jest już obsługiwana.

Błąd Chromium

Wyłączenie obsługi podczas tworzenia obiektu PostępEvent za pomocą metody document.createEvent()

Wcześniejsze wersje specyfikacji DOM wymagały implementacji document.createEvent("ProgressEvent"). Jednak wykorzystanie zawsze było na niskim poziomie i wycofaliśmy już obsługę Gecko i Webkit. Samo zdarzenie zostało usunięte ze specyfikacji w marcu tego roku.

Aby zapewnić zgodność z platformą i najnowszą specyfikacją, usunęliśmy z Chrome ProgressEvent.

Błąd Chromium

Usuwanie funkcji SVGTests.required

W pierwszej wersji specyfikacji SVG aplikacja mogła wywołać funkcję DOMImplementation.hasFeature, by sprawdzić, czy dany interfejs SVG jest obsługiwany. Wiele elementów SVG zawierało atrybut requiredFeatures, który zwracał te same informacje.

W SVG2 właściwość DOMImplementation.hasFeature zawsze zwraca wartość „true”. W związku z tym requiredFeatures nie robi już nic przydatnego. Została usunięta ze specyfikacji, dlatego została wycofana w Chrome 54 i obecnie usunięta.

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