Wycofania i usuwania w Chrome 60

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 usuwane treści w Chrome 60, który jest dostępny w wersji beta od 8 czerwca. Ta lista może w każdej chwili ulec zmianie.

Bezpieczeństwo

crypto.subtle wymaga teraz bezpiecznego źródła

Web Crypto API która działa od momentu, gdy Chrome w wersji 37 zawsze używa źródeł. Ze względu na wieloletnie zasady Chrome dotyczące wybierania bezpiecznych źródeł dla zaawansowanych funkcji, Element crypto.subtle jest widoczny nie tylko w bezpiecznych źródłach.

Zamiar usunięcia | Błąd Chromium

Usuń zainicjowane przez treść elementy nawigacyjne górnej ramki prowadzące do adresów URL danych

Nie są zaznajomieni z obsługą przeglądarek, dlatego coraz więcej informacji o wykorzystywaniu schematu data: do podszywania się i phishingu ataków. Aby temu zapobiec, blokujemy stronom internetowym możliwość wczytywania data: adresów URL w górnej ramce. Dotyczy to <a> tagów, window.open, window.location i podobnych mechanizmów. Schemat data: będzie nadal działać w przypadku zasobów załadowanych przez stronę.

Ta funkcja została wycofana w Chrome 58 i teraz usunięta.

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

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

Funkcja navigator.sendBeacon() jest dostępna od Chrome 39. Zgodnie z pierwotnie zaimplementowanym argumentem data funkcji może zawierać dowolną dowolnego obiektu blob, którego typ nie znajduje się na liście bezpiecznych CORS. Naszym zdaniem ale jeszcze nikt nie próbował go wykorzystać. Ponieważ NIE można by rozwiązać ten problem; tymczasowo, sendBeacon() nie może nie można wywoływać w przypadku blobów, których typ NIE jest na liście bezpiecznych CORS.

Mimo że ta zmiana została wdrożona w Chrome 60, to teraz została scalona. do Chrome 59.

Błąd Chromium

CSS

Spraw, aby kombinator potomny z przekłuwaniem cienia działał jak kombinator potomny

Kombinator podrzędny shadow piercingu (>>>), część Moduł określania zakresu CSS – poziom 1 , miała pasować do elementów podrzędnych określonego elementu nadrzędnego nawet jeśli pojawiły się w cieniu drzewa. Wiąże się to z pewnymi ograniczeniami. Po pierwsze, zgodnie ze specyfikacją można używać tylko w wywołaniach JavaScript, takich jak querySelector(), i nie jak pracować w arkuszach stylów. Co ważniejsze, dostawcy przeglądarek nie byli w stanie działają poza jednym poziomem modelu Shadow DOM.

W związku z tym kombinator potomny został usunięty z odpowiedniej specyfikacji. np. Shadow DOM v1. Zamiast usuwać strony internetowe, usuń ten selektor niż w Chromium, ale zdecydowaliśmy się utworzyć alias podrzędny z kombinatorem potomnym. Pierwotne działanie było wycofane w Chrome 45. Nowy sposób działania został wdrożony w Chrome 61.

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

JavaScript

Wycofaj i usuń RTCPeerConnection.getStreamById()

Niemal 2 lata temu usunięto ze specyfikacji WebRTC interfejs getStreamById(). Większość innych przeglądarek została już usunięta z implementacji. Mimo że ta funkcja jest uważanych za niezbyt rzadko używane, uważa się również, że istnieją pewne nieznaczne ryzyko interoperacyjności z przeglądarkami opartymi na Edge i WebKit innymi niż Safari gdzie getStreamById() jest nadal obsługiwany. Deweloperzy szukający alternatywy można znaleźć przykładowy kod w polu „Intencja usunięcia” poniżej.

Usuwanie jest dostępne w Chrome 62.

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

Wycofanie SVGPathElement.getPathSegAtLength

Ponad 2 lata temu obraz getPathSegAtLength() został usunięty ze specyfikacji SVG. Ponieważ w archiwum httpArchive jest tylko kilka działań dla tej metody, należy wycofaną w Chrome 60. Zamierzamy usuwać strony w Chrome 62, zostanie wysłany na początku lub w połowie października.

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

Przenieś funkcję getContextAttributes() za flagę

Funkcja getContextAttributes() została obsługiwana na urządzeniach CanvasRenderingContext2D 2013 r. Funkcja ta nie była jednak częścią żadnego standardu, więc nie jest teraz który od tego czasu stanowił jedną z nich. Powinna ona być wdrożona za Flaga wiersza poleceń --enable-experimental-canvas-features, ale została błędnie Nie. W Chrome 60 problem został poprawiony. Uważa się, że to jest bezpieczna, ponieważ nie ma danych wskazujących, że ktoś używa tej metody.

Błąd Chromium

Usuń Headers.prototype.getAll()

Funkcja Headers.prototype.getAll() jest usuwana zgodnie z najnowszym specyfikacji pobierania.

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

Usuń index.webkitGetDatabaseNames()

Dodaliśmy tę funkcję, gdy indeksowana baza danych była stosunkowo nowa w Chrome i miała prefiksy była cały wściekła. Interfejs API asynchronicznie zwraca listę istniejących baz danych nazwy w źródle, które wydają się dość rozsądne.

Niestety grafika jest wadliwa, ponieważ już wkrótce wyniki mogą stać się nieaktualne więc można ich używać tylko do rejestrowania, do logiki aplikacji. Problem z githubem – ścieżki/linki do w poprzednich dyskusjach na temat alternatywnych rozwiązań, które wymagałyby innego podejścia. Deweloperzy byli jednak w pewien sposób zainteresowani, ale ze względu na brak postęp przeglądarki, w którym autorzy biblioteki opracowali rozwiązanie tego problemu.

Deweloperzy, którzy potrzebują tej funkcji, muszą opracować własne rozwiązanie. Na przykład biblioteki, takie jak Dexie.js, korzystają z tabeli globalnej. który sam w sobie jest inną bazą danych służącą do śledzenia nazw baz danych.

Ta funkcja została wycofana w Chrome 58 i teraz usunięta.

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

Usuń WEBKIT_KEYFRAMES_RULE i WEBKIT_KEYFRAME_RULE

niestandardowe stałe WEBKIT_KEYFRAMES_RULE i WEBKIT_KEYFRAME_RULE; zostaną usunięci z Reguła CSS. Zamiast nich deweloperzy powinni używać interfejsów KEYFRAMES_RULE i KEYFRAME_RULE.

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

Interfejs

Wymagaj gestu użytkownika w oknach przed wyładowaniem

Od wersji Chrome 60 okno dialogowe beforeunload jest widoczne tylko wtedy, gdy ramka nie można go wyświetlić, ale został poddany gestem lub interakcją użytkownika (lub każda umieszczona ramka otrzymała taki gest). Dla jasności – to nie jest zmiana na wysyłanie zdarzenia beforeunload. To tylko zmiana czy okno jest widoczne.

Okno beforeunload jest modalnym oknem aplikacji. Oznacza to, że jest to niechętne do użytkownika, czyli reaguje na działania użytkownika przez kwestionowanie jego decyzji. Ta funkcja ma swoje pozytywne zastosowania. Na przykład często używa się go ostrzegać użytkowników o utracie danych podczas korzystania z nawigacji.

Podczas gdy możliwość wpisania tekstu w oknie beforeunload na stronie była usunięte jakiś czas temu okna beforeunload nadal są wektorem nadużyć. W okno dialogowe beforeunload jest elementem oszustw, w których automatyczne odtwarzanie dźwięku i tekstu z groźbami zapewniają kontekst, w którym Chromium „Czy na pewno chcesz opuścić tę stronę?” wiadomość staje się niepokojąca.

Zwracamy uwagę na to, jak nie ma nic dziwnego w obsłudze i dopuszczamy używanie beforeunload . Dobre zastosowania tych dialogów to te, w których użytkownik znajduje się zgubiony. Jeśli użytkownik nigdy nie wszedł w interakcję ze stroną, nie może mieć żadnych mogą zostać utracone i dlatego nie ponosimy odpowiedzialności za utratę danych użytkowników przez ukrywania okna dialogowego.