Устаревшие и удаленные API в Chrome 53

Джо Медли
Joe Medley

Почти в каждой версии Chrome мы видим значительное количество обновлений и улучшений продукта, его производительности, а также возможностей веб-платформы. В этой статье описаны изменения в Chrome 52, бета-версия которого доступна с 9 июня. Этот список может быть изменен в любое время.

Шифры на основе DHE постепенно прекращаются

TL;DR: шифры на основе DHE удалены в настольной версии Chrome 53, поскольку их недостаточно для длительного использования. Серверы должны использовать ECDHE, если он доступен, или простой шифр RSA, если его нет.

Намерение удалить | Трекер Chromestatus | Ошибка хрома

В прошлом году мы изменили минимальный размер группы TLS Диффи-Хеллмана с 512 до 1024 бит; однако 1024-бит недостаточно в долгосрочной перспективе. Метрики показывают, что около 95% подключений DHE, видимых Chrome, используют 1024-битный DHE. Это, в сочетании с тем, как согласовывается DHE в TLS, затрудняет переход за пределы 1024-битного формата.

Хотя существует черновой вариант спецификации, устраняющий эту проблему, он все еще является черновиком и требует изменений как на клиенте, так и на сервере. Между тем, ECDHE уже широко внедрен и развернут. Серверы следует обновить до ECDHE, если они доступны. В противном случае убедитесь, что включен набор шифров обычного RSA.

Шифры на основе DHE устарели, начиная с Chrome 51. Поддержка удалена с рабочего стола в Chrome 53.

Предупреждение об устаревании FileError

TL;DR: в Chrome 54 ожидается удаление устаревшего интерфейса FileError Замените ссылки на err .code на err .name и err .message .

Намерение удалить | Трекер Chromestatus | Ошибка хрома

Текущая версия стандарта File API не содержит интерфейса FileError , и его поддержка была прекращена где-то в 2013 году. В Chrome 53 это предупреждение об устаревании будет выведено на консоль DevTools:

«FileError» устарел и будет удален в версии 54. Используйте атрибуты ошибки «имя» или «сообщение», а не «код».

Это имеет разные последствия в разных контекстах.

  • FileReader.error и FileWriter.error будут объектами DOMException вместо объектов FileError .
  • Для асинхронных вызовов FileSystem ErrorCallback будет передан FileError.ErrorCode вместо FileError .
  • Для синхронных вызовов FileSystem вместо FileError будет выдан FileError.ErrorCode .

Это изменение влияет только на код, который основан на сравнении кода экземпляра ошибки ( e.code ) непосредственно со значениями перечисления FileError ( FileError.NOT_FOUND_ERR и т. д.). Код, который проверяет жестко закодированные константы (например e.code === 1 ), может дать сбой, сообщив пользователю о неверных ошибках.

К счастью, типы ошибок FileError , DOMError и DOMException - все общие свойства name и message , которые дают согласованные имена для случаев ошибки (другими словами, e.name === "NotFoundError" ). Вместо этого код должен использовать эти свойства, которые будут работать во всех браузерах и продолжат работать после удаления самого интерфейса FileError .

Удаление FileError ожидается в Chrome 54.

Удалить атрибут результатов для <input type=search>

TL;DR: Атрибут results удаляется, поскольку он не является частью какого-либо стандарта и непоследовательно реализуется в разных браузерах.

Намерение удалить | Трекер Chromestatus | Ошибка хрома

Значение results реализовано только в webkit и ведет себя крайне непоследовательно для тех, которые это делают. Например, Chrome добавляет значок лупы в поле ввода, а на рабочем столе Safari он контролирует, сколько предыдущих поисковых запросов отображается во всплывающем окне, открывающемся при щелчке по значку лупы. Поскольку это не является частью какого-либо стандарта, оно устарело.

Если вам все еще нужно включить значок поиска в поле ввода, вам придется добавить к элементу собственный стиль. Вы можете сделать это, включив фоновое изображение и указав левое дополнение в поле ввода.

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
      padding-left:30px;
    }
 ```   

This attribute has been deprecated since Chrome 51.