+ scoped_refptr<ServiceDiscoverySharedClient> result =
+ g_service_discovery_client;
+ if (result)
+ return callback.Run(result);
+
+ if (!g_is_firewall_state_reported) {
+ BrowserThread::PostTaskAndReply(
+ BrowserThread::FILE,
+ FROM_HERE,
+ base::Bind(&ReportFirewallStats),
+ base::Bind(&ServiceDiscoverySharedClient::GetInstanceWithoutAlert,
+ callback));
+ return;
+ }