Hi,

Electron web-view is leaking original IP through webRTC even though we are in VPN/Proxy

Do we have option to disable that in electron, brave is already doing this
https://github.com/brave/browser-laptop/commit/653e4db649c1e96e55f5b2c80a60f5db49b10cb3#diff-b95013a7d2996f174fdafb3bb3cfd7cb

Third party Add-ons are blocking webrtc  by accessing this API
chrome.privacy.network.webRTCIPHandlingPolicy.set({value: 'default_public_interface_only'});

It will be helpful if  we  expose this API in electron too.

How to replicate this:
_________________________
create a simple webview
Set proxy for that session/webview
visit https://browserleaks.com/webrtc
You can see your original IP even though you are in proxy

Thanks
Jk


atom/browser/api/atom_api_web_contents.cc
content::WebContents *web_contents,
                                            mate::Handle<api::Session> session,
                                            const mate::Dictionary& options) {
  content::WebContentsObserver::Observe(web_contents);
  InitWithWebContents(web_contents, session->browser_context());
  managed_web_contents()->GetView()->SetDelegate(this);
  
  new WebContentsPreferences(web_contents, options);
  
  WebContentsPermissionHelper::CreateForWebContents(web_contents);
  
  SecurityStateTabHelper::CreateForWebContents(web_contents);
  
  WebContentsZoomController::CreateForWebContents(web_contents);
  zoom_controller_ = WebContentsZoomController::FromWebContents(web_contents);
  double zoom_factor;
  if (options.Get(options::kZoomFactor, &zoom_factor))
    zoom_controller_->SetDefaultZoomFactor(zoom_factor);
  web_contents->SetUserAgentOverride(GetBrowserContext()->GetUserAgent());
  if (IsGuest()) {
    guest_delegate_->Initialize(this);
    NativeWindow* owner_window = nullptr;
    if (options.Get("embedder", &embedder_) && embedder_) {