Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6393)

Unified Diff: chrome/browser/local_discovery/service_discovery_device_lister.cc

Issue 1898503002: Cleanup LocalDiscoveryUIHandler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/local_discovery/service_discovery_device_lister.cc
diff --git a/chrome/browser/local_discovery/service_discovery_device_lister.cc b/chrome/browser/local_discovery/service_discovery_device_lister.cc
index 2126d7780a19b89f6d5b26a8abe3d6afc60953bb..7115ab6e16d01600cf9549fd6dab98d8bc7f221f 100644
--- a/chrome/browser/local_discovery/service_discovery_device_lister.cc
+++ b/chrome/browser/local_discovery/service_discovery_device_lister.cc
@@ -9,6 +9,7 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
+#include "base/stl_util.h"
#include "build/build_config.h"
namespace local_discovery {
@@ -56,29 +57,26 @@ void ServiceDiscoveryDeviceLister::OnServiceUpdated(
return;
}
- if (update != ServiceWatcher::UPDATE_REMOVED) {
- bool added = (update == ServiceWatcher::UPDATE_ADDED);
- std::pair<ServiceResolverMap::iterator, bool> insert_result =
- resolvers_.insert(make_pair(service_name,
- linked_ptr<ServiceResolver>(NULL)));
-
- // If there is already a resolver working on this service, don't add one.
- if (insert_result.second) {
- VLOG(1) << "Adding resolver for service_name: " << service_name;
- std::unique_ptr<ServiceResolver> resolver =
- service_discovery_client_->CreateServiceResolver(
- service_name,
- base::Bind(&ServiceDiscoveryDeviceLister::OnResolveComplete,
- weak_factory_.GetWeakPtr(), added, service_name));
-
- insert_result.first->second.reset(resolver.release());
- insert_result.first->second->StartResolving();
- } else {
- VLOG(1) << "Resolver already exists, service_name: " << service_name;
- }
- } else {
+ if (update == ServiceWatcher::UPDATE_REMOVED) {
delegate_->OnDeviceRemoved(service_name);
+ return;
+ }
+
+ // If there is already a resolver working on this service, don't add one.
+ if (ContainsKey(resolvers_, service_name)) {
+ VLOG(1) << "Resolver already exists, service_name: " << service_name;
+ return;
}
+
+ VLOG(1) << "Adding resolver for service_name: " << service_name;
+ bool added = (update == ServiceWatcher::UPDATE_ADDED);
+ std::unique_ptr<ServiceResolver> resolver =
+ service_discovery_client_->CreateServiceResolver(
+ service_name,
+ base::Bind(&ServiceDiscoveryDeviceLister::OnResolveComplete,
+ weak_factory_.GetWeakPtr(), added, service_name));
+ resolver->StartResolving();
+ resolvers_[service_name] = std::move(resolver);
}
// TODO(noamsml): Update ServiceDiscoveryClient interface to match this.

Powered by Google App Engine
This is Rietveld 408576698