Index: chrome/browser/renderer_preferences_util.cc |
diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/renderer_preferences_util.cc |
index f7628fed8b9171dca25e6d165ad0123916c76cd0..e8fa45295d3a8575b34edec6aa32a1450480f2c7 100644 |
--- a/chrome/browser/renderer_preferences_util.cc |
+++ b/chrome/browser/renderer_preferences_util.cc |
@@ -11,6 +11,7 @@ |
#include "content/public/browser/host_zoom_map.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/common/renderer_preferences.h" |
+#include "content/public/common/webrtc_ip_handling_policy.h" |
#include "third_party/skia/include/core/SkColor.h" |
#if defined(OS_LINUX) || defined(OS_ANDROID) |
@@ -42,10 +43,20 @@ void UpdateFromSystemSettings(content::RendererPreferences* prefs, |
prefs->enable_do_not_track = |
pref_service->GetBoolean(prefs::kEnableDoNotTrack); |
#if defined(ENABLE_WEBRTC) |
- prefs->enable_webrtc_multiple_routes = |
+ // If the new IPHandlingPolicy is set OR the original multi-routes is not set |
+ // OR if it was set to true, we could just honor the new IPHandlingPolicy one. |
+ bool ignore_multiroutes_option = |
Devlin
2015/10/27 16:13:31
This is just my ignorance, but why do we ignore th
guoweis_left_chromium
2015/10/27 20:32:00
If it's true, it's the default, hence we could use
|
+ pref_service->HasPrefPath(prefs::kWebRTCIPHandlingPolicy) || |
+ !pref_service->HasPrefPath(prefs::kWebRTCMultipleRoutesEnabled) || |
pref_service->GetBoolean(prefs::kWebRTCMultipleRoutesEnabled); |
- prefs->enable_webrtc_nonproxied_udp = |
- pref_service->GetBoolean(prefs::kWebRTCNonProxiedUdpEnabled); |
+ |
+ if (ignore_multiroutes_option) { |
+ prefs->webrtc_ip_handling_policy = |
+ pref_service->GetString(prefs::kWebRTCIPHandlingPolicy); |
+ } else { |
+ prefs->webrtc_ip_handling_policy = |
+ content::kWebRTCIPHandlingDefaultPublicInterfaceOnly; |
+ } |
#endif |
double default_zoom_level = 0; |