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

Unified Diff: chrome/browser/extensions/api/mdns/mdns_api.cc

Issue 2874243003: [mDns] Make DnsSdRegistry a leaky singleton (Closed)
Patch Set: resolve code review comments from Mark Created 3 years, 7 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/extensions/api/mdns/mdns_api.cc
diff --git a/chrome/browser/extensions/api/mdns/mdns_api.cc b/chrome/browser/extensions/api/mdns/mdns_api.cc
index 63f3c23f83431904c59c281f89040a60a2cee193..db4caa3fe4a2dd44acdb5ac46aa0a339c2011e72 100644
--- a/chrome/browser/extensions/api/mdns/mdns_api.cc
+++ b/chrome/browser/extensions/api/mdns/mdns_api.cc
@@ -38,7 +38,8 @@ bool IsServiceTypeWhitelisted(const std::string& service_type) {
using DnsSdRegistry = media_router::DnsSdRegistry;
-MDnsAPI::MDnsAPI(content::BrowserContext* context) : browser_context_(context) {
+MDnsAPI::MDnsAPI(content::BrowserContext* context)
+ : browser_context_(context), dns_sd_registry_(nullptr) {
DCHECK(browser_context_);
extensions::EventRouter* event_router = EventRouter::Get(context);
DCHECK(event_router);
@@ -46,7 +47,7 @@ MDnsAPI::MDnsAPI(content::BrowserContext* context) : browser_context_(context) {
}
MDnsAPI::~MDnsAPI() {
- if (dns_sd_registry_.get()) {
+ if (dns_sd_registry_) {
dns_sd_registry_->RemoveObserver(this);
}
}
@@ -65,10 +66,9 @@ BrowserContextKeyedAPIFactory<MDnsAPI>* MDnsAPI::GetFactoryInstance() {
return g_factory.Pointer();
}
-void MDnsAPI::SetDnsSdRegistryForTesting(
- std::unique_ptr<DnsSdRegistry> dns_sd_registry) {
- dns_sd_registry_ = std::move(dns_sd_registry);
- if (dns_sd_registry_.get())
+void MDnsAPI::SetDnsSdRegistryForTesting(DnsSdRegistry* dns_sd_registry) {
+ dns_sd_registry_ = dns_sd_registry;
+ if (dns_sd_registry_)
dns_sd_registry_->AddObserver(this);
}
@@ -80,11 +80,11 @@ void MDnsAPI::ForceDiscovery() {
DnsSdRegistry* MDnsAPI::dns_sd_registry() {
DCHECK(thread_checker_.CalledOnValidThread());
- if (!dns_sd_registry_.get()) {
- dns_sd_registry_.reset(new media_router::DnsSdRegistry());
+ if (!dns_sd_registry_) {
+ dns_sd_registry_ = media_router::DnsSdRegistry::GetInstance();
dns_sd_registry_->AddObserver(this);
}
- return dns_sd_registry_.get();
+ return dns_sd_registry_;
}
void MDnsAPI::OnListenerAdded(const EventListenerInfo& details) {
« no previous file with comments | « chrome/browser/extensions/api/mdns/mdns_api.h ('k') | chrome/browser/extensions/api/mdns/mdns_api_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698