Google выпустила бета-версию Chrome 89

Компания Google выпустила бета-версию Chrome 89, получившую еще больше API для взаимодействия с аппаратным обеспечением, многие из которых Mozilla и Apple считают опасными.

Google выпустила бета-версию Chrome 89
2 мин
Автор PINTA IT

Одной из новых функций Chrome для взаимодействия с аппаратным обеспечением является WebHID (Human Interface Devices) API, позволяющий разработчикам писать JavaScript-коды для взаимодействия с устройствами наподобие геймпадов и клавиатур с помощью не стандартных API вроде Gamepad API, а специально созданной под эти устройства логики.

«Невозможность доступа нетипичных или необычных HID-устройств в прямом смысле мучительна, например, когда речь идет о поддержке геймпадов. Входящие и исходящие данные геймпадов не стандартизированы должным образом, и web-браузерам зачастую требуется кастомная логика для отдельных устройств. Такой подход неустойчив и приводит к плохой поддержке длинного списка старых и нестандартных устройств», - сообщила команда Google Chromium.

Chrome 89 Beta: Advanced Hardware Interactions, Web Sharing on Desktop, and More
Unless otherwise noted, changes described below apply to the newest Chrome beta channel release for Android, Chrome OS, Linux, macOS, and Wi...

Chrome 89 также поддерживает технологию Web NFC (Near Field Communications), позволяющую web-приложениям читать и записывать теги NFC. К таковым приложениям относятся сканеры бейджей и штрих-кодов, приложения, переадресовывающие пользователей на дополнительный контент, и пр.

Еще одна функция, Web Serial API, обеспечивает непосредственную связь между web-приложениями и устройствами с серийными портами. Функция является дополнением к WebUSB API, поддерживаемому со времен Chrome 61, но отсутствующему в Firefox и Safari из соображений безопасности.

Уже реализованные в Chrome для Android (начиная с Chrome 75) API для web-обмена теперь добавлены в Windows и Chrome OS. Идея состоит в том, чтобы заменить маленькие кнопки на сайтах, позволяющие поделиться контентом в Twitter, Facebook и т.д., одной кнопкой «Поделиться», которая вызывает функцию совместного использования операционной системы.

Эта функция также позволяет обмениваться файлами, такими как изображения или текстовые документы (диапазон поддерживаемых расширений файлов ограничен). Firefox не поддерживает web-обмен, но он есть в Microsoft Edge (версия 81 и выше) и Safari (версия 12.1 и выше в macOS, версия 12.2 в iOS).

В Chrome для Android также была добавлена встроенная поддержка декодирования AVIF-изображений, уже присутствующая в десктопной версии Chrome. Кроме того, появились некоторые настройки CSS, а JavaScript V8 был обновлен до версии 8.9 и получил «top-level await», благодаря чему улучшился процесс импорта модулей JavaScript.

Расширенная поддержка устройств в Chrome существенно сокращает разрыв между web-приложениями и нативными приложениями, но также увеличивает потенциальную поверхность атаки. Например, текущая позиция Mozilla в отношении WebUSB API заключается в том, что он опасен.

Mozilla Specification Positions

«Поскольку многие USB-устройства не предназначены для обработки потенциально вредоносных взаимодействий по протоколам USB и поскольку эти устройства могут оказывать значительное влияние на компьютер, к которому они подключены, мы считаем, что риски безопасности, связанные с доступностью USB-устройства через интернет, слишком высоки, чтобы подвергать им пользователей», считают в Mozilla.