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 |
} |