Chromium Code Reviews| Index: chrome/browser/local_discovery/service_discovery_shared_client.cc |
| diff --git a/chrome/browser/local_discovery/service_discovery_shared_client.cc b/chrome/browser/local_discovery/service_discovery_shared_client.cc |
| index 01c3c00d152e67255ddf13a53822a47f34c24124..e7f851e50c0b38f229991c7904e752b64c3a9e1d 100644 |
| --- a/chrome/browser/local_discovery/service_discovery_shared_client.cc |
| +++ b/chrome/browser/local_discovery/service_discovery_shared_client.cc |
| @@ -20,12 +20,16 @@ |
| #endif |
| #if defined(ENABLE_MDNS) |
| +#include "chrome/browser/local_discovery/service_discovery_client_mdns.h" |
| #include "chrome/browser/local_discovery/service_discovery_client_utility.h" |
| #endif // ENABLE_MDNS |
| namespace { |
| #if defined(OS_WIN) |
| + |
| +bool g_is_firewall_ready = false; |
| + |
| void ReportFirewallStats() { |
| base::FilePath exe_path; |
| if (!PathService::Get(base::FILE_EXE, &exe_path)) |
| @@ -36,9 +40,9 @@ void ReportFirewallStats() { |
| exe_path); |
| if (!manager) |
| return; |
| - bool is_ready = manager->CanUseLocalPorts(); |
| + g_is_firewall_ready = manager->CanUseLocalPorts(); |
| UMA_HISTOGRAM_TIMES("LocalDiscovery.FirewallAccessTime", timer.Elapsed()); |
| - UMA_HISTOGRAM_BOOLEAN("LocalDiscovery.IsFirewallReady", is_ready); |
| + UMA_HISTOGRAM_BOOLEAN("LocalDiscovery.IsFirewallReady", g_is_firewall_ready); |
| } |
| #endif // OS_WIN |
| @@ -80,11 +84,13 @@ scoped_refptr<ServiceDiscoverySharedClient> |
| static bool reported = |
| BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
| base::Bind(&ReportFirewallStats)); |
| -#endif // OS_WIN |
| - |
| // TODO(vitalybuka): Switch to |ServiceDiscoveryClientMdns| after we find what |
| // to do with firewall for user-level installs. crbug.com/366408 |
| - return new ServiceDiscoveryClientUtility(); |
| + if (!g_is_firewall_ready) |
| + return new ServiceDiscoveryClientUtility(); |
|
Noam Samuel
2014/05/14 18:35:09
Does this mean that ServiceDiscoveryClientUtility
Vitaly Buka (NO REVIEWS)
2014/05/14 19:11:41
No. Only one is alive in time.
Check g_service_dis
Noam Samuel
2014/05/14 19:54:45
Wait, so does this mean that Chrome on Windows wil
|
| +#endif // OS_WIN |
| + |
| + return new ServiceDiscoveryClientMdns(); |
| #endif // OS_MACOSX |
| } |