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 57, która od początku lutego znajduje się w fazie beta. Ta lista może się w każdej chwili zmienić.
Usuń atrybut BluetoothDevice.uuids
Usuwamy atrybut BluetoothDevice.uuids
, aby zapewnić zgodność interfejsu Web Bluetooth API z aktualną specyfikacją. Aby pobrać wszystkie dozwolone usługi GATT, wywołaj funkcję device.getPrimaryServices().
Usuń element generowania kluczy
Od Chrome 49 domyślnym działaniem <keygen>
jest zwracanie pustego ciągu znaków, chyba że stronie przyznano odpowiednie uprawnienia. IE/Edge nie obsługuje parametru <keygen>
i nie ma wskazanych sygnałów publicznych do obsługi polecenia <keygen>
.
Przeglądarka Firefox blokuje już adres <keygen>
w odpowiedzi na gest użytkownika, ale publicznie popiera jego usunięcie. Safari wysyła statki <keygen>
i nie wyraża opinii na temat dalszego wsparcia tej platformy. W Chrome 57
ten element jest usuwany.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Usuń interfejs API zarządzania buforem czasu zasobów z prefiksem
2 metody i moduł obsługi zdarzeń (webkitClearResourceTimings()
, webkitSetResourceTimingBufferSize()
i onwebkitresourcetimingbufferfull
) są przestarzałe i zależą od konkretnych dostawców. Standardowe wersje tych interfejsów API są obsługiwane w Chrome 46, a funkcje poprzedzone prefiksami zostały wycofane także w tej wersji. Te funkcje były pierwotnie wdrażane w WebKit, ale w przeglądarce Safari ich nie włączono. Przeglądarki Firefox, IE 10+ i Edge mają tylko wersję API bez prefiksu. Dlatego wersje webkit są usuwane.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Usunięcie elementu ServiceWorkerMessageEvent na rzecz użycia funkcji MessageEvent
Specyfikacja HTML rozszerzyła MessageEvent
, aby umożliwić użycie typu ServiceWorker
jako typu atrybutu source
. client.postMessage()
i tworzenie niestandardowych zdarzeń wiadomości zmieniono na MessageEvent
, a nie ServiceWorkerMessageEvent
.
Usunięto: ServiceWorkerMessageEvent
.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Usuń globalne aliasy IndexedDB z prefiksem webkit-prefixed
W okolicach Chrome 11 punkt wejścia IndexedDB
i konstrukcje globalne zostały udostępnione z prefiksami webkit
. Wersje bez prefiksu zostały dodane w Chrome 24, a wersje z prefiksem zostały wycofane w Chrome 38. Problem dotyczy tych interfejsów:
webkitIndexedDB
(główny punkt wejścia)webkitIDBKeyRange
(konstruktor globalny, którego nie można wywołać, ale ma przydatne metody statyczne)webkitIDBCursor
webkitIDBDatabase
webkitIDBFactory
webkitIDBIndex
webkitIDBObjectStore
webkitIDBRequest
webkitIDBTransaction
(konstruktory globalne bez możliwości wywołania)
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
WebAudio: usuwanie przedrostka AudioContext i OfflineAudioContext
Od połowy 2011 roku Chrome obsługuje WebAudio
, w tym AudioContext
.
Konto OfflineAudioContext
zostało dodane w następnym roku. Ze względu na to, jak długo są obsługiwane interfejsy standardowe, a także długoterminowy cel Google polegający na usunięciu funkcji z prefiksami, wersje z prefiksami są wycofywane pod koniec 2014 roku i teraz są usuwane.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Wycofanie i usunięcie metody webkitRequestAnimationFrame
Metoda webkitCancelRequestAnimationFrame()
jest przestarzałym, właściwym dla dostawcy interfejsem API, a standardowy cancelAnimationFrame()
jest od dawna obsługiwany w Chromium. Dlatego usuwam wersję webkit.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Wycofaj dopasowywanie wielkości liter w atrybucie usemap
Atrybut usemap
nie był wcześniej zdefiniowany jako niewielkość liter. Wdrożenie tych rozwiązań było jednak na tyle skomplikowane, że żadna z przeglądarek nie zaimplementowała jej prawidłowo. Z badań wynika, że taki skomplikowany algorytm jest niepotrzebny i nie jest konieczne nawet dopasowywanie wielkości liter w standardzie ASCII.
W związku z tym zaktualizowaliśmy specyfikację, aby zastosować dopasowywanie z uwzględnieniem wielkości liter. Stare działanie zostało wycofane w Chrome 57 i wkrótce zostanie usunięte w Chrome 58.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Wycofywanie FileReaderSync w instancjach service worker
Specyfikacja skryptu service worker zawsze zawierała (nienormatywne) uwagi, że „żądania synchronicznego typu nie mogą być inicjowane w skrypcie service worker”, by uniknąć jego zablokowania. Zablokowanie skryptu service worker zablokuje wszystkie żądania sieciowe pochodzące z kontrolowanych stron. Interfejs API FileReaderSync
jest już od dawna dostępny w skryptach service worker.
Obecnie tylko Firefox i Chrome ujawniają FileReaderSync
w mechanizmach Service Worker.
Zgodnie z dyskusją o specyfikacji przeglądarki Firefox należy to naprawić. Usunięcie powinno nastąpić w Chrome 59.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Wycofaj starszą wersję wywołującego elementów HTMLEmbedElement i HTMLObjectElement
To, że interfejs zawiera starszy element wywołujący, oznacza, że instancję można wywołać jako funkcję. Obecnie tę funkcję obsługują HTMLEmbedElement
i HTMLObjectElement
. W Chrome 57 ta możliwość jest wycofana. Po usunięciu, co jest
oczekiwane w Chrome 58, wywołanie spowoduje zgłoszenie wyjątku.
Dzięki tej zmianie wprowadziliśmy najnowsze zmiany w specyfikacji urządzeń Chrome. Starsze zachowanie nie jest obsługiwane w przeglądarkach Edge ani Safari i jest usuwane z Firefoksa.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Wycofano RTCRtcpMuxPolicy na potrzeby negocjowania
Zasada rtcpMuxPolicy
jest używana przez Chrome do określania preferowanej zasady dotyczącej użycia multipleksowania RTP/RTCP. W Chrome 57 zmieniliśmy domyślną opcję rtcpMuxPolicy
na „require” i wycofaliśmy opcję „negocjowania” z tych powodów:
- Niezmodyfikowany protokół RTCP wymaga dodatkowych zasobów sieciowych.
- Usunięcie negocjacji uprości powierzchnię interfejsu API, ponieważ obiekty „RtpSender”/„RtpReceivedr” będą zawsze miały tylko 1 transport.
W Chrome 57 opcja „negocjacja” została wycofana. Sądzimy, że nie jest to awaryjne rozwiązanie, ponieważ użytkownik dostanie wiadomość o wycofaniu usługi i nadal będzie mógł utworzyć RTCPeerConnection
urządzenie. Funkcja usuwania jest dostępna w Chrome 63.
Intencje do wycofania | Błąd Chromium
Zrezygnuj z obsługi osadzonych danych logowania w żądaniach zasobów podrzędnych
Kodowanie na stałe danych logowania w żądaniach zasobów podrzędnych stanowi problem z punktu widzenia zabezpieczeń, ponieważ w przeszłości hakerzy mogli wykorzystywać dane logowania brute-force. Te zagrożenia zwiększają się w przypadku żądań zasobów podrzędnych z uwierzytelnianiem, które docierają do zakresów wewnętrznych adresów IP (routerów itp.). Biorąc pod uwagę małe wykorzystanie zasobów, zamknięcie tej (niewielkiej) luki w zabezpieczeniach wydaje się rozsądne.
Deweloperzy mogą umieszczać zasoby, które nie wymagają uwierzytelniania podstawowego/skrótu, zamiast plików cookie i innych mechanizmów zarządzania sesją.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium