Closed ShivanKaul closed 2 weeks ago
Hangouts of course has been EOL'ed but Google Meet working great with a few tests I've done with the extension disabled.
I went through the extension's permissions:
desktopCapture
: this doesn't seem necessary since the page can just use Screen Capture APIenterprise.hardwarePlatform
: this seems purely for logging purposes. We already disable uploading of logging informationprocesses
: logging related too, "continuously reporting relevant CPU usage information to the page."system.cpu
: loggingwebrtcAudioPrivate
: AFAICT not even being used by the extensionwebrtcDesktopCapturePrivate
: Hmm, this might be used to allow screen sharing via a WebView. @bsclifton Does this option exist on Android? If yes, if you open a Google Meet link in a WebView (maybe if you click on the link in Messenger or WhatsApp?) are you able to share screen?webrtcLoggingPrivate
: logging@ShivanKaul I can check that tomorrow (RE: webrtcDesktopCapturePrivate
on Android)
Should we make a separate issue to track disabling component first? This issue can track removing it entirely. I created https://github.com/brave/brave-core/pull/24583 and added some tests that I manually ran through. Let me know what you think!
Yeah, that makes sense, like we discussed we don't need to block on disabling this in Nightly.
I created https://github.com/brave/brave-browser/issues/39664 and edited the PR description for https://github.com/brave/brave-core/pull/24583 to fix that instead.
PASSED
usingBrave | 1.69.106 Chromium: 127.0.6533.43 (Official Build) nightly (x86_64)
-- | --
Revision | 2778b12a30fa8f4d7ccd6caad101a7aabcfc6981
OS | macOS Version 11.7.10 (Build 20G1427)
PASSED
PASSED
PASSED
Just some background here:
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.
Adding QA/Test-All-Platforms
as per the issue description
Verification `PASSED using
Brave | 1.69.122 Chromium: 127.0.6533.57 (Official Build) beta (64-bit)
-- | --
Revision | bd77e9b76a8e67ff2bf9f62f1df7d60378ca811f
OS | Windows 11 Version 23H2 (Build 22631.3880)
Note: Hangout is enabled by default 1.67.123
in, however, in 1.67.134
& 1.68.127
it's disabled by default
PASSED
PASSED
PASSED
I see that the latest merge disabled it by default and this issue has been closed.
Anyway my question is about a group policy I had set regarding the Google Hangouts extension.\ My goal is to never allow the extension from being enabled and loaded. Also to block it in case it was to ever be added back to Brave (highly doubtful). Will my policy conflict with the latest merge of disabling it?
{
"WebRtcEventLogCollectionAllowed": false,
"WebRtcTextLogCollectionAllowed": false,
"ExtensionInstallBlocklist": [
"nkeimhogjdpnpccoofpliimaahmaaome"
]
}
Upon further testing there is no way to lock the slider in brave://settings/extensions
with a group policy rule. And the one I tried above ^ does nothing.
Also many group policies are broken and dont carry over in Brave dsepite them being valid in brave://policy/
For example these two do not work on Brave:
{
"EnableMediaRouter": false,
"ClearBrowsingDataOnExitList": [
"browsing_history",
"download_history",
"cookies_and_other_site_data",
"cached_images_and_files",
"password_signin",
"autofill",
"site_settings",
"hosted_app_data"
]
}
(edited to add the Background section)
Test plan
See https://github.com/brave/brave-core/pull/24594
Platforms
Linux, macOS, Windows
Description
We previously added the Hangouts extension to allow screen sharing: https://github.com/brave/brave-browser/pull/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: https://github.com/brave/brave-browser/issues/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.