Description
(edited to add the Background section)
Test plan
Platforms
Linux, macOS, Windows
Description
We previously added the Hangouts extension to allow screen sharing: #1983. The setting is toggleable via the Hangouts
setting in brave://settings/extensions.
The Hangouts extension uses private Chrome Web APIs: https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/resources/hangout_services/manifest_v3.json;l=24-30. We need to investigate if we still need this extension/component. Screen sharing does not seem dependent on this extension any more: disabling the Hangouts
setting does not affect screen sharing on Google Meet but does prevent debugging information showing up (which is fine).
Note that we disable log uploading done by this (and other) private WebRTC APIs: #1993
Background
In 2019, Brave enabled the Hangouts Services extension to allow users to use Google Hangouts and Google Meet in the Brave browser. This extension fixed some broken Hangouts/Meet functionality in Brave (specifically, screen sharing would not work on Google Hangouts/Meet without the extension). At the time, Chromium was cautious about giving all websites access to the standards-compliant screen sharing API because of security concerns, which is presumably why Google special-cased this ability for Google’s websites only.
Having Google Meet/Hangouts work in Chrome but not Brave was a serious Web compatibility problem. Before enabling this extension by default, Brave made sure that we added a way for users to disable the Hangouts extension in brave://settings/extensions. We also proactively blocked automatic uploading of debugging information to Google’s servers, the same way we frequently modify Chromium to fix leaks and boost user privacy. However, we see now why this would have raised concerns among some users. In hindsight, a better approach would have been one similar to what we did with the Widevine extension: keep the extension off-by-default, and ask the user if they want to enable it on their first visit to a website with functionality that would be helped by the extension.
Over the years, we received clear reports from users that Google Meet did not work properly without the Hangouts Services extension, which is why we kept it on by default (though we should have revisited this sooner.) With the widespread adoption of screen sharing Web APIs, it’s clear the extension is no longer needed. Google deprecated Hangouts, and Google Meet works fine for Brave users without the extension. We have now changed our settings panel to leave the Hangouts Services extension off by default, and are removing the extension completely with the work in this issue.