Насколько мне известно, в браузере, таком как Chrome, для совместного использования рабочего стола или приложения требуется расширение Chrome для работы, например:
chrome.permissions.request({
permissions: ['desktopCapture'],
}
Но почему Google Hangouts не требует расширения для захвата рабочего стола?
Есть ли для этого какой-нибудь API JavaScript?
WebRTC в последних версиях Chrome также избегает установки расширения для демонстрации экрана, но раньше это было необходимо. В Hangouts используется webRTC. Может быть, это связано.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


На данный момент Google Hangouts делает использует расширение, оно просто интегрировано в Chrome до такой степени, что его не видно.
Источник: Проблема с хромом для удаления этой специальной обработки
Вы можете проверить, что он установлен (незаметно), открыв вручную
chrome-extension://nkeimhogjdpnpccoofpliimaahmaaome/background.html
В то же время работа продолжается для поддержки спецификации WebRTC для совместного использования экрана (getDisplayMedia) в Chrome. Он еще не включен по умолчанию в выпущенных версиях Chrome, но будет очень скоро (код уже есть в базе кода).
Отслеживание реализации: Проблема с хромом
Google заносит в белый список доступ к API для собственных нужд. Разработчиком браузера быть удобно.